Nsstring Don';别笑,我到底错过了什么?

Nsstring Don';别笑,我到底错过了什么?,nsstring,Nsstring,好吧,我可能没有必要尝试学习OOP,我在最简单的第一个小程序上遇到了麻烦。我收到一条消息说我的实现不完整(我在下面给出4个错误的行中进行了注释)。怎么了?它需要一个类型说明符,但我不是给它一个NSString吗?我注意到NSString在实现中并不像在接口中那样在XCODE中将颜色更改为绿色 另外,为什么我们需要在接口中声明方法,并在实现中键入完全相同的内容?也就是说,为什么需要同时输入startDrinking:(NSString*)neweverage #import <Foundat

好吧,我可能没有必要尝试学习OOP,我在最简单的第一个小程序上遇到了麻烦。我收到一条消息说我的实现不完整(我在下面给出4个错误的行中进行了注释)。怎么了?它需要一个类型说明符,但我不是给它一个NSString吗?我注意到NSString在实现中并不像在接口中那样在XCODE中将颜色更改为绿色

另外,为什么我们需要在接口中声明方法,并在实现中键入完全相同的内容?也就是说,为什么需要同时输入startDrinking:(NSString*)neweverage

#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;
}
#导入
@接口:NSObject{
NSString*饮料;
}
-(无效)开始饮用:(NSString*)新饮料;//塞特
-(无效)打印饮料;
@结束
@实施饮料
{
//下一行是我得到4个错误的地方
-(无效)开始饮用:(NSString*)新饮料{
饮料=[[NSString alloc]initwithString:newBeverage]
}
-(无效)印刷品{
NSLog(“你的饮料怎么样”);
}
}
@结束
int main(int argc,const char*argv[]{
饮料*饮料=[[饮料分配]初始];
[饮料开始饮用:@“柠檬水”];
返回0;
}
你的问题太健谈了

您在第
beverage=[[NSString alloc]initwithString:newBeverage]行中漏掉了一个分号。

线路应为:

beverage = newBeverage;
NSLog行应该是:

NSLog(@"How is your %@", beverage);

和在报头中签名方法声明,后面是C和C++。您可以想到,编译器需要知道哪些函数首先可用。

您的错误是
{
正下方的
@implementation
。 这就是路线也混乱的原因

通常,如果在报告的行中找不到错误,只需检查任何无关的或缺少的括号、括号或大括号即可。 奇怪的排列是另一个线索


希望这能有所帮助。此外,正如其他人所说,如果你的主题更有意义,这也会有所帮助。不仅对你自己,也对可能有类似问题的任何其他人都有帮助

你会遇到什么错误?谢谢你的回复。对不起,这是我的第一篇帖子。我不知道分号应该放在哪里。我试着放上了e everywhere,仍然缺少类型说明符;Declarations结尾需要;我确实在您显示的地方添加了分号,但仍然出现相同的4个错误。我得到:在声明说明符和类型名称之后,预期的成员名称或“;”,需要一个特定的限定符和缺少类型说明符的默认值,我刚才才找到它uess实现后我不应该有卷发手镯。去掉了它和那些错误,只留下了最后一个错误:NSLog(@“你好吗”,饮料);(现在我得到:数据参数未被格式字符串使用