【问题标题】:ARC: "Pointer to non-const type 'id' with no explicit ownership"ARC:“指向没有明确所有权的非常量类型 'id' 的指针”
【发布时间】:2025-12-20 04:30:16
【问题描述】:

我正在升级 iOS 4 项目以将其与 ARC 和 sdk5 一起使用。 所以我想使用自动重构方法将代码转换为使用 ARC。 不幸的是,它不起作用。我得到了很多错误..

for(id* child in childObjectArray){
    [child removeParentGroupReferences];
}

这给了我以下错误输出:

指向没有明确所有权的非常量类型“id”的指针

对此有什么帮助吗?我必须改变什么? 感谢您的帮助..

【问题讨论】:

    标签: ios memory-management automatic-ref-counting


    【解决方案1】:

    id 是一个类型,而不是一个对象。这意味着 id 不应该是一个指针。删除* 以修复它。

    for(id child in childObjectArray){
        [child removeParentGroupReferences];
    }
    

    【讨论】:

      【解决方案2】:

      id* 更改为idid 已定义为对象指针。

      【讨论】:

      • 我有同样的错误,但在 CoreData.framework 中。我该怎么办?
      • 感谢您指出这一点。愚蠢的错字让我悲痛欲绝。