我有两个与错误的Xcode语法有关的错误

时间:2011-09-02 20:26:44

标签: iphone ios xcode ios4

(MemberPage *)initWithString: (NSString *) s  {
    self = [super init];

    if ( self ) {
        //DO STUFF;
        UserNAME.text = s;
    }

}    
return self;

我得到了: 使用未声明的标识符initWithString 预期的之前:令牌

到目前为止,我一直无法解决这个问题, 感谢

2 个答案:

答案 0 :(得分:3)

有一些调整可以解决这个问题。请参阅内联评论:

// Add '-' to show it is instance method
-(MemberPage *)initWithString: (NSString *) s  {
    self = [super init];

    if ( self ) {
         //DO STUFF;
         UserNAME.text = s;
    }

    // Include this inside of the brace
    return self;
}    

作为一个注释,按照惯例,您的实例变量应以小写字母开头,然后使用驼峰套管。因此,UserNAME.text应为userName.text。编译器期望这样。

答案 1 :(得分:1)

您在方法签名之前缺少-标记,并且return语句在方法体之外。应该是这样的:

- (MemberPage *)initWithString: (NSString *) s  {
    self = [super init];

    if ( self ) {
        //DO STUFF;
        UserNAME.text = s;
    }

    return self;
}

您最终可能会在UserNAME.text = s行上遇到问题但却看不到您的头文件很难说明。