温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

浅谈OC中的属性

发布时间:2020-06-17 22:50:41 来源:网络 阅读:408 作者:liuyasonghao 栏目:开发技术

      在OC属性这个知识点,主要讲如何去创造一个属性来简化代码的编辑.在一个类中,实例变量如果可见度不是public则在主函数中访问时无法使用对象加指向操作符(->)来访问实例变量的赋值.所以定义了setter和getter方法.

       setter方法是为实例变量设置一个值,所以称setter方法为设置器.它的格式为- (void)set首字母大写的实例变量名:(实例变量的数据类型)实例变量名.例如:- (void)setName:(NSString *)name.但是在setter方法中虽然给实例变量赋值但是主函数还是无法调用.这是就需要一个方法可以让主函数访问到这个值.所以getter方法就很有必要了.getter方法称为访问器.它的格式为- (实例变量名的数据类型)加实例变量名.例如:- (NSString *)name;但是如果实例变量多了这样需要写的setter和getter方法就更多了.所以为了简化代码量类的属性就诞生了.

       类的属性@property (实例变量的数据类型)实例变量名.例如:@proprty (NSString *)name.它包含了这个实例变量的一对设置器与访问器.如果在类中没有声明实例变量.它会自动生成一个实例变量变量名为_name.在xcode4.2以后就不用再在.m文件中来写设置器与访问器的实现.它会自动生成.所以这就大大减少了编辑程序时的代码量.一个类的属性,会自动生成一组设置器与访问器以及其代码实现,如果未提前定义实例变量还会自动生成相应的实例变量.在组函数中调用方法是可以用[对象 sttter方法] [对象 getter方法]来实现对实例变量的访问.

另外还可以使用点语法来对实例变量进行访问.格式为对象.属性名.例如:Person *person =[ [Person alloc] init]; person.name = @"zhangsan";这相当与是一个setter方法. NSString *name = person.name;这相当于一个getter方法.这样由于属性的定义程序编辑起来会简化,减少工作量,缩减时间.

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI