0
我目前正在學Objective C,並且在這個過程中我做了下面這個愚蠢的小程序。該程序編譯良好 - 但我收到警告「多個方法命名'-setName:'找到」。多種方法警告
我只接口並實現了一次該方法。
這個警告是什麼意思,我該如何糾正?
#import <Foundation/Foundation.h>
// these are the three yoga-exercises we can perform
typedef enum {
kCobra,
kUniversal,
kDog
} ExerciseName;
// translating our variables into human
NSString *nameExercise (ExerciseName nameExercise)
{
switch (nameExercise) {
case kCobra:
return @"Cobra Pose";
break;
case kUniversal:
return @"Universal Stretch";
break;
case kDog:
return @"Dog Pose";
break;
}
return @"no clue!";
} // nameExercise
@interface Exercise : NSObject
{
ExerciseName name;
}
-(void) setName: (ExerciseName) name;
-(void) exerciseDo;
@end
@implementation Exercise
-(void) setName: (ExerciseName) n {
name = n;
} // setName
-(void) exerciseDo {
NSLog(@"Exercise: %@",
nameExercise(name));
}
@end
void executeExercises(id exercises[], int count) {
int i;
for(i=0; i<count; i++) {
id exercise = exercises[i];
[exercise exerciseDo];
}
}
int main (int argc, const char * argv[]) {
id exercises[1];
exercises[0] = [Exercise new]; // initiating an object of class Exercise
[exercises[0] setName:kDog];
executeExercises(exercises, 1);
return 0;
} //main
1。以這種方式思考......如果從現在開始的六個月內,你從未見過的人必須閱讀你的代碼,那麼代碼的哪一行纔會最有意義,並讓讀者最理解你的意圖? – bbum 2011-04-27 06:45:29