我是Objective-C的新手,在运行Clang静态分析器时,这部分代码给了我以下错误
warning: Pass-by-value argument in message expression is undefined
[artistCollection removeObject:removeArtist];
任何人都可以为我发出此警告吗?
case 6:
NSLog(@"(*) - First Name:");
scanf("%s", userFirName);
objFirName = [[NSString alloc] initWithUTF8String:userFirName];
for(eachArtist in artistCollection) {
if([[eachArtist firName] isEqualToString: objFirName]) {
removeArtist = eachArtist;
}
}
[artistCollection removeObject:removeArtist];
[objFirName release], objFirName = nil;
break;
加里
答案 0 :(得分:3)
如果您的循环中的if
永远不会匹配(因为userFirName
不在您的收藏集中),removeArtist
将永远不会被分配值。在开始循环之前给它赋值(可能是nil
),你应该没问题。