我有以下代码,其中程序是带有NSNumber对象和NSString对象的NSArray。代码执行后,即使我已经确认第二个if条件至少满足一次(当[obj isKindOfClass:[NSString class]]为true时),NSMutableSet变量完全为空。

NSMutableSet *variables;
if ([program isKindOfClass:[NSArray class]]) {
    for (id obj in program) {
        if ([obj isKindOfClass:[NSString class]]) {
            [variables addObject:obj];
        }
    }
}


为什么?

最佳答案

您没有创建NSMutableSet

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

//release later if not ARC enabled


或更方便

NSMutableSet *variables = [NSMutableSet set];


(感谢dreamlax提醒我)

关于objective-c - NSMutableSet不添加对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8569707/

10-09 02:16