相关疑难解决方法(0)

ARC还是ARC?优缺点都有什么?

我还没有使用ARC,因为我正在研究的项目中的大部分代码都是在iOS 5.0之前编写的.

我只是想知道,手动保留/释放的便利性(以及可能因此产生的更可靠的代码?)是否超过使用ARC的任何"成本"?您对ARC有什么经历,您会推荐它吗?

所以:

  • ARC为项目带来了多少好处?
  • ARC是否像Java中的垃圾收集一样?
  • 您是否一直在使用ARC,如果是这样,到目前为止您是如何找到它的?

iphone objective-c ipad ios5 automatic-ref-counting

112
推荐指数
3
解决办法
2万
查看次数

处理ARC中的指针到指针所有权问题

假设对象A有一个属性:

@property (nonatomic, strong) Foo * bar;
Run Code Online (Sandbox Code Playgroud)

在实现中合成为:

@synthesize bar = _bar;
Run Code Online (Sandbox Code Playgroud)

对象B操纵a Foo **,如本示例中对象A的调用:

Foo * temp = self.bar;
[objB doSomething:&temp];
self.bar = temp;
Run Code Online (Sandbox Code Playgroud)
  • 这个或类似的东西可以合法地完成吗?
  • doSomething:方法的正确声明是什么?

此外,假设在我有机会设置属性之前可以释放对象Bbar(从而获取指向的实例的所有权temp) - 我如何告诉ARC切换拥有的引用?换句话说,如果我想让以下示例代码段起作用,我将如何处理ARC问题?

Foo * temp = self.bar;    // Give it a reference to some current value
[objB doSomething:&temp]; // Let it modify the reference
self.bar = nil;           // Basically release whatever we have
_bar = temp;              // Since we're …
Run Code Online (Sandbox Code Playgroud)

objective-c automatic-ref-counting

41
推荐指数
2
解决办法
1万
查看次数

标签 统计

automatic-ref-counting ×2

objective-c ×2

ios5 ×1

ipad ×1

iphone ×1