1
我有2個方法,這些方法給我一個警告:目標C - 以前沒有原型功能
id LoadObjectFromFile(NSString* filename) {
if ((filename = DocumentPath(filename, NO))) {
return [NSKeyedUnarchiver unarchiveObjectWithFile: filename];
} else {
return nil;
}
}
BOOL saveObjectWithFile(NSString* filename, id object) {
if ((filename = DocumentPath(filename, YES))) {
return [NSKeyedArchiver archiveRootObject: object toFile: filename];
} else {
return NO;
}
}
這是給我一個「沒有以前的原型功能」的警告。
我寧願不只是禁用xcode中的警告。
我哪裏錯了?
你想寫功能,或方法?這些是不同的東西在objective-c – jrturton
這個警告是可怕的無用的。我總是關掉它。 – 2011-11-20 16:47:11
@WTP:這不是沒用的。在聲明它之前使用函數會使您處於隱式類型不匹配的風險中。例如,聲明之前的任何用法都會假定它返回'int',所以如果函數返回'float',則會得到垃圾結果(因爲實際返回值位於不同的地方)。這就是爲什麼你必須在使用它們之前聲明你的功能,因爲警告提醒你。 –