Objective C MutableArray删除空行

时间:2015-01-30 11:37:20

标签: ios objective-c xcode nsmutablearray tableview

我的tableview有问题。当我点击tableview中的添加按钮时,它会将我发送到textview,我可以在其中编写文本。然后当我保存它时,它会移回到tableview并创建一个新行,其中textview中的文本作为标题。如果textview为空,则保存它没有文本,并在表视图中创建一个没有标题的行。

我想删除tableview中没有标题的所有行。我将文本保存到名为“savedText”的NSMutableArray。

以下是我尝试过的一些代码:

if ([savedText containsObject:@""]) {
    savedText=nil;
}

和此:

if ([savedText isEqualToArray:@""]) {
    savedText=nil;
}

使用此代码时没有任何反应。

1 个答案:

答案 0 :(得分:1)

Conny,我们其中一个人在这里不理解或遗漏了什么。这可能是我,但无论如何都试着提供帮助。

据我了解,您将所有输入的字符串存储到名为 savedText 的数组中,并希望遍历数组中的所有项目以检查它们是否为空并将其从数组如果是的话。这是对的吗?

GuybrushTheepwood在他的评论中是正确的,您可以在将其存储在数组中之前进行简单检查。如果它是空的,只是不要存储它,你将永远不必让处理器工作来删除它。

但是,如果你仍然想要一个删除空字符串的算法,你需要尝试别的东西。你的第一个if块将删除整个数组,如果它包含空的东西,你的第二个应该发出警告,该参数不是NSArray *。也许你正在寻找这样的东西?

for (NSString* string in savedText) {
    if ([string isEqualToString:@""]) {
        [savedText removeObject:string];
    }
}
// Potentially more code here? Like reloading the tableview?

但是这只会从数组中删除它,你需要的不仅仅是更新视图。