您当前的位置: 首页 >  清风清晨 分类

【使用分类的注意细节 Objective-C语言】

清风清晨 发布时间:2022-08-27 22:31:17 ,浏览量:3

前言

使用分类需要注意四个细节:

一、分类只能增加方法,不能增加属性

例如,有下面一个分类,这么写是错误的:
@interface Person (test)
{
int _age;
}
– (void)haha;
@end
这句话会报错:int _age;
意思是,分类不能写属性!

二、在分类之中可以写@property ,但是不会自动生成私有属性,也不会自动生成getter、setter的实现,只会生成getter、setter的声明。

例如,如下这种写法:
@interface Person (test)
@property(nonatomic,assign)int age;
– (void)haha;
@end
不会生成_age私有属性,也不会生成- (void)setAge方法,和- (int)age方法。
如果编译以下的语句,会报发送给实例的消息无法识别,哪个消息呢,[Student setAge:]消息:
int main()
{
Student *s1 = [Student new];
[s1 setAge:19];//这句话会报错
return 0;
}
怎么办呢,如果你就是想在分类中使用@property声明属性呢,自己在分类的实现文件里写setter、getter

关注
打赏
查看更多评论

清风清晨

暂无认证

  • 3浏览

    0关注

    70博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录