我有以下代码,其中程序是带有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];
}
}
}
为什么?
答案 0 :(得分:8)
您没有创建NSMutableSet
NSMutableSet *variables = [[NSMutableSet alloc] init];
//release later if not ARC enabled
或更方便
NSMutableSet *variables = [NSMutableSet set];
(感谢dreamlax提醒我)