好的,我可能没有尝试学习 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;
}