OK、私はおそらくOOPを学ぼうとするビジネスはなく、最も単純な小さな最初のプログラムで問題を抱えています。実装が不完全であるというメッセージが表示されます(以下の4つのエラーを示している行にコメントしました)。なにが問題ですか?とりわけ型指定子が必要ですが、NSStringで指定しませんか?NSStringは、インターフェイスの場合のように、実装ではXCODEの色を緑色に変更しないことに気付きました。
また、インターフェイスでメソッドを宣言し、実装でまったく同じものを入力する必要があるのはなぜですか?つまり、startDrinking:(NSString *)newBeverageを両方に入力する必要があるのはなぜですか?
#import <Foundation/Foundation.h>
@interface Drinks : NSObject {
NSString *beverage;
}
- (void) startDrinking: (NSString*) newBeverage; // setter
- (void) printDrink;
@end
@implementation Drinks
{
//THIS NEXT LINE IS WHERE I GET 4 ERRORS
- (void) startDrinking: (NSString *) newBeverage {
beverage = [[NSString alloc]initwithString:newBeverage]
}
-(void) printDrink {
NSLog(@"How is your", beverage);
}
}
@end
int main (int argc, const char * argv[]) {
Drinks *beverage = [[Drinks alloc] init];
[beverage startDrinking:@"Lemonade"];
return 0;
}