当我宣布我的实例变量作为错误:预期标识符或“(”前“公” - 目标C
@interface FOO : NSObject
{
@public
int a;
}
@public
-(id)init;
-(void)dealloc;
@end
错误我收到此错误:预期标识符或“(”前“公”
当我宣布我的实例变量作为错误:预期标识符或“(”前“公” - 目标C
@interface FOO : NSObject
{
@public
int a;
}
@public
-(id)init;
-(void)dealloc;
@end
错误我收到此错误:预期标识符或“(”前“公”
,你在头/接口,将自动公开的方法不要使用@public
或其他访问关键接口定义之外,因为你不声明在Objective-C的公共或私有方法。
只要可以从课外公开访问。如果你只有一个dd是一个实现,但不要在头文件/接口中公开它(或仅在class extension中公开它),它是私有的。
@interface FOO : NSObject
{
@public
int a;
}
- (id)init;
- (void)dealloc;
@end
现在你为什么会想声明一个公共int a
实例变量(而不是使用属性)或明确声明NSObject
已经有两个方法我是无法理解。
在objective-c方法块不能包含@public(或@private)块 - 它只适用于实例变量,并且Objective-c类中的所有方法都是公共的,所以要修复错误,请删除第二个@public代码:
@interface FOO : NSObject
{
@public
int a;
}
-(id)init;
-(void)dealloc;
@end
你为什么要申报公共ivar? – BoltClock 2011-05-11 08:49:46