我是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;加里
发布于 2009-10-31 08:03:53
如果在循环中没有匹配到if (因为userFirName不在您集合中),那么removeArtist将永远不会被赋值。在开始循环之前给它赋值(可能是nil),这样就没问题了。
https://stackoverflow.com/questions/1652883
复制相似问题