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

Posted

技术标签:

【中文标题】ARC:“指向没有明确所有权的非常量类型 \'id\' 的指针”【英文标题】:ARC: "Pointer to non-const type 'id' with no explicit ownership"ARC:“指向没有明确所有权的非常量类型 'id' 的指针” 【发布时间】:2012-03-05 01:02:24 【问题描述】:

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

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

这给了我以下错误输出:

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

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

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

【参考方案2】:

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

【讨论】:

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

以上是关于ARC:“指向没有明确所有权的非常量类型 'id' 的指针”的主要内容,如果未能解决你的问题,请参考以下文章

ARC简介以及工程中ARC与非ARC的混合

ARC工程使用不支持ARC的库以及非ARC工程使用ARC的库编译设置

ARC工程使用不支持ARC的库以及非ARC工程使用ARC的库编译设置

iOS开发之ARC与非ARC的设置

arc就响一声

0c-42-ARC模式下如何兼容非ARC的类