在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
http://blog.csdn.net/csz0102/article/details/25984275 注:以下讨论都是在ARC模式下 我们在iOS开发中最经常碰到的“引用(reference)”的使用是在error上,比如如下代码
这里的save方法实现大概是这样子
下面来说一下需要注意的地方 1.可以注意到传递参数用的是&error,并且接收参数用的是(NSError **)。 其中&error指的是传这个变量的“引用”,即传变量的地址。(NSError **)其实是(NSError * __autoreleasing *)的缩写,指的是引用将会自动释放。 2.error是本地变量,如果error是一个实例变量(instance variable)的话会报错,具体报错信息为:“passing address of non-local object to __autoreleasing parameter for write-back”。 解决方法很简单,把(NSError **)修改为(NSError * __strong *)。
想要了解引用传递更细节的可以去看一下SO上的回答,分析的非常详细:Handling Pointer-to-Pointer Ownership Issues in ARC |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论