我有一个可变数组的复选框
NSMutableArray *arrayOfCheckedBox = [NSMutableArray arrayWithObjects:namePropertyString, lastNamePropertyString, companyPropertyString, workEmailPropertyString, personalEmailPropertyString, workPhonePropertyString, cellNumberPropertyString, nil];
[arrayOfCheckedBox removeObjectIdenticalTo:[NSNull null]]; //not working
NSLog(@"array of check box = %@", arrayOfCheckedBox);
如果单击索引0,1和4处的复选框,它将仅收集索引0和1处的对象,并且根本不会检测索引4。
在获取arrayOfCheckedBox之前,我在日志中的选定索引处获取值。在这种情况下如何获得检查值?
答案 0 :(得分:1)
问题在于您达到nil
值,因此arrayWithObjects:
方法认为您位于对象列表的末尾。
这样的事情会起作用:
NSMutableArray *arrayOfCheckedBox = [NSMutableArray arrayWithCapacity:7];
if (namePropertyString)
[arrayOfCheckedBox addObject:namePropertyString];
if (lastNamePropertyString)
[arrayOfCheckedBox addObject:lastNamePropertyString];
答案 1 :(得分:0)
我建议将复选框值存储在BOOL数组中。 首先将它们包装在NSNumbers中并打开它们以检索它们。
包装存储,
[NSNumber numberWithBool:YES]]
解开包装,
[[your_array objectAtIndex:index] boolValue]
答案 2 :(得分:-1)
对于null值,似乎是字符串文字@“”而不是NSNull.So使用以下方法删除null对象:
NSLog(@"%d", [arrayOfCheckedBox count]);
NSString *nullString = @"<null>";
[arrayOfCheckedBox removeObject:nullString];
NSLog(@"%d", [arrayOfCheckedBox count]);