在我的应用程序中有 4 个文本字段(0、1、2、3)。当用户键入内容并按回车键时,我想将此 textField 的内容保存在一个数组中。但我需要正确的顺序。例如,当用户第一次在 textField 2 中键入一些信息并且我称addObject:
内容位于索引 0 处时。现在我尝试使用inserObjectAtIndex:
但它不起作用,因为我的数组为空(计数 = 0)。尝试initWithCapacity
也不是解决办法。我没有尝试先用空字符串初始化数组,但这将是一个糟糕的解决方案。那么我怎样才能以聪明的方式解决这个问题呢?有什么建议么??
问问题
64 次
1 回答
2
我会使用一个包含四个NSNull
对象的 NSMutableArray,并在您要保存字符串时替换相应的对象。
像这样的东西:
NSMutableArray *dataSource = [NSMutableArray arrayWithArray:@[[NSNull null], [NSNull null], [NSNull null], [NSNull null]]];
// check if object is set
if ([dataSource objectAtIndex:0] != [NSNull null]) {
// object is set
textField0.text = [dataSource objectAtIndex:0];
}
else {
// object is not set
textField0.text = nil;
}
// set object
[dataSource replaceObjectAtIndex:0 withObject:@"Foobar"];
由于您正在处理 NSStrings,因此您也可以使用空字符串@""
作为占位符。这应该使一切变得更容易。但是用 NSNull 对象填充的 NSArray 是更通用的方法。
于 2013-06-08T18:33:18.273 回答