我有以下代码,其中程序是带有NSNumber对象和NSString对象的NSArray.在代码执行之后,即使我已经确认第二个if条件至少满足一次(当[obj isKindOfClass:[NSString class]]为真时),NSMutableSet变量也是完全空的.
NSMutableSet *variables;
if ([program isKindOfClass:[NSArray class]]) {
for (id obj in program) {
if ([obj isKindOfClass:[NSString class]]) {
[variables addObject:obj];
}
}
}
Run Code Online (Sandbox Code Playgroud)
为什么?
您没有创建NSMutableSet
NSMutableSet *variables = [[NSMutableSet alloc] init];
//release later if not ARC enabled
Run Code Online (Sandbox Code Playgroud)
或者更方便
NSMutableSet *variables = [NSMutableSet set];
Run Code Online (Sandbox Code Playgroud)
(感谢dreamlax提醒我)
| 归档时间: |
|
| 查看次数: |
375 次 |
| 最近记录: |