2012-08-08 48 views
0

我使用属性在XYZ.h中创建了一些变量,然后在XYZ.m中合成它们。XCode Objective C警告/如何永久删除属性

但是,在我从XYZ.h和XYZ.m中删除了属性之后,Xcode认为这些属性仍然存在,并在我的实现文件中抛出了有关我删除的所有属性的警告,并声明它们需要一个方法实现。

深入探讨这一点,我发现尽管代码中没有任何地方,但仍然在符号导航器中列出了该类的属性。而且,当我“跳到”这些变量被认为是被声明的地方时,它跳转到XYZ.h的最顶部,这里显然没有那种类型。

除了废弃XYZ.h和XYZ.m并重新编码代码,我该如何永久删除这些属性和/或删除它们的正确方法是什么(我猜我还有其他事情我必须做除了从代码中清除它们)?

我试过已经运行干净干净的生成文件夹,以及临时重新创建变量并销毁它们,但迄今没有任何工作。

我可以提供任何所需的附加信息。

编辑:非常奇怪,一旦我重新启动计算机,它加载了XYZ.h文件,所有的属性仍然存在。显然,我对头文件所做的所有保存都没有被保存,原因不明,尽管所有表现都相反。现在一切正常,我删除了属性,并按预期工作。

+0

这是否发生在你申报,并随后删除每一个属性? – 2012-08-08 20:34:54

+0

大概这是Xcode 4或更高版本。它这样做。我忘记了细节,但有一种方法可以强制重建它保留的符号表。简单的清理和构建不会这样做,甚至删除文件可能不会。 – 2012-08-08 21:07:25

回答

0

很奇怪。
属性IBOutlets?如果是这样,请将它们从xib中移除。 如果没有,你可以尝试删除Xcode的派生数据:
RM -rf〜/资源库/开发/ Xcode中/ DerivedData

好运

+0

我同意这一点。如果删除IBOutlet属性,Xcode会变得疯狂,但将它们保留在Xib/Storyboard中处于活动状态。另外,你有没有尝试关闭/重新打开Xcode? – MikeS 2012-08-08 20:36:15