【问题标题】:ARC Forbids Explicit Message Send of 'Release' [duplicate]ARC 禁止“发布”的显式消息发送 [重复]
【发布时间】:2014-09-04 01:39:22
【问题描述】:

我对 Objective C 编程非常陌生。出于某种原因,下面箭头所示的行给了我一个“ARC 禁止显式发送‘release’消息”消息。有人可以解释一下我在这里做错了什么吗?

int main(int argc, char *argv[]) {
    @autoreleasepool {
        Person *morgy;
        morgy = [Person alloc];
        morgy = [morgy init];

        [morgy setWeight: 145];
        [morgy setAge: 19];
        [morgy print];
        [morgy release]; // <------
    }

    return 0;
}

【问题讨论】:

  • 删除该行。任务完成。下一个!
  • @trojanfoe 我做了,但输出产生“lldb”
  • 这是一个不同的问题。

标签: objective-c automatic-ref-counting


【解决方案1】:

ARC 是自动引用计数。当不再保留它时,它会自动为您释放对象。明确释放它会破坏目的并破坏整个引擎。所以,这是不允许的。

只需删除该行,ARC中不需要。

【讨论】:

  • 我删除了它,但输出只产生“lldb”
猜你喜欢
  • 2013-10-31
  • 2013-03-11
  • 2016-12-13
  • 1970-01-01
  • 2012-08-06
  • 2013-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多