NSMutableSet不添加对象

时间:2011-12-20 01:17:00

标签: objective-c cocoa

我有以下代码,其中程序是带有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];
        }
    }
}

为什么?

1 个答案:

答案 0 :(得分:8)

您没有创建NSMutableSet

NSMutableSet *variables = [[NSMutableSet alloc] init];

//release later if not ARC enabled

或更方便

NSMutableSet *variables = [NSMutableSet set];

(感谢dreamlax提醒我)