(MemberPage *)initWithString: (NSString *) s {
self = [super init];
if ( self ) {
//DO STUFF;
UserNAME.text = s;
}
}
return self;
我得到了: 使用未声明的标识符initWithString 预期的之前:令牌
到目前为止,我一直无法解决这个问题, 感谢
答案 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
行上遇到问题但却看不到您的头文件很难说明。