类别、运行时

[复制链接]
384 5
我创建了一个UIViewController的类别,添加了data属性,并用runtime实现了该属性的get和set方法。
屏幕快照 2016-11-18 12.27.10.png (38.71 KB, 下载次数: 14)
下载附件
2016-11-18 12:27 上传





现在我有一个控制器CarInfoViewController,继承自UIViewController,使用self.data访问属性编译可过,但在程序运行时通过断点调试打印self.data却提示找不到该属性,打印_data却有值。屏幕快照 2016-11-18 14.30.36.png (13.35 KB, 下载次数: 14)

2016-11-18 14:35 上传



屏幕快照 2016-11-18 14.29.39.png (15.39 KB, 下载次数: 17)

2016-11-18 14:33 上传





但是在程序中直接访问_data会报错。这个怎么回事??

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

举报 使用道具

回复

5 个评论

315588376  新手上路  发表于 2019-2-13 07:23:02  | 显示全部楼层
分类并不生成实例变量,只是在调用set和get方法。

举报 使用道具

回复
ujama  新手上路  发表于 2019-2-13 07:49:20  | 显示全部楼层
IO10101 发表于 2016-11-18 15:03
分类并不生成实例变量,只是在调用set和get方法。


这样说在控制器里其实并没有data这个属性,只有一个存放着数据的_data变量。那我应该怎么获取_data?

举报 使用道具

回复
SavunoJus  新手上路  发表于 2019-2-13 08:18:17  | 显示全部楼层
daniellam 发表于 2016-11-18 15:16
这样说在控制器里其实并没有data这个属性,只有一个存放着数据的_data变量。那我应该怎么获取_data? ...


把get和set方法暴露到.h文件?

举报 使用道具

回复
viber  新手上路  发表于 2019-2-13 08:34:25  | 显示全部楼层
访问不到。property就相当于set和get方法。你一定要搞事情的话,就弄个静态全局变量。

举报 使用道具

回复
banshams  新手上路  发表于 2019-2-13 08:51:46  | 显示全部楼层
可以访问到了~
我把get跟set方法改成直接返回_data或给_data赋值。
访问的时候就使用[self data]。

举报 使用道具

回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

ios.irunthink.com
搜索
热搜: iOS swift 下拉刷新

图文热点

更多

开发教程

更多

客服中心

400-800 周一至周日 9:30-17:30 仅收市话费

关注我们

  • 微信扫描
  • 关注微信
关于我们
关于我们
友情链接
联系我们
帮助中心
精贴推荐
源码上传
注册登录
服务支持
资源下载
关注我们
官方微博
官方空间
快速回复 返回顶部 返回列表