免责声明:我对这门语言很陌生,所以如果我做了一些不合逻辑的事情或者解释错误的话,我会道歉。我也是StackOverflow的新手......
到目前为止,在Xcode(Objective-C)中,我已经启动了一个空项目并添加了一个View Controller对象,其中包含一个Collection View对象,其中包含一个Collection View Cell。那个细胞有Image View&标签对象(每个对象之一)。我添加了一个Storyboard和ViewController.h + ViewController.m文件对(UIViewController的子类)。
最初我开始使用一个空的项目模板,但遇到了问题并删除了项目文件夹并重新开始使用单视图模板。
现在,每当我在任何项目中使用任何CollectionView对象时,我都会在运行Xcode时收到错误。它出现在Thread 1中,Debug Navigator的“main”部分:
"Terminating app due to uncaught exception 'NSUnknownKeyException',
reason: '[<ViewController 0x7419bb0> setValue:forUndefinedKey:]: this
class is not key value coding-compliant for the key breadboxCollectionView.'"
我确实使用“breadboxCollectionView”作为CollectionView对象的outlet属性名称,绑定到我的ViewController标头。我在之前的一个项目中做过那个。
如果我添加第二个Collection View对象,并将其绑定到View Controller头文件,作为名为“breadboxCollectionView”的属性的出口,则应用程序启动时不会抛出任何异常。它不显示第二个集合视图对象,但我会在这一点上考虑一个完全不同的障碍。我需要对“breadboxCollectionView”的引用消失。
我尝试删除第二个Collection View对象,但之后运行应用程序:boom,同样的错误出现。
我尝试按以下顺序删除第二个Collection View对象:1)删除outlet连接2)删除视图控制器头文件中的属性条目3)删除第二个集合视图对象。
我删除并重新安装了Xcode。我删除了以前项目的所有痕迹。我又从头开始了一个新项目......我还使用Xcode之外的文本编辑器打开了我的* .storyboard文件,并搜索了“breadboxCollectionView”的任何痕迹。
我仍然得到相同的错误,对“breadboxCollectionView”的引用相同,并且无法找到我的计算机上列出此变量的位置来修复它。
我在这里尝试过其他问题,关于NSUnknownKeyException错误,但似乎每个问题都倾向于相当独特。在我看来,对于这种情况,Apple Developer文档也没那么有帮助。
有没有人有任何建议?
更新1:
我刚刚做了以下内容,实际上找到了对“breadboxCollectionView”的引用。虽然,它没有帮助:
* .storyboard文件中显示的单个结果;我以为我做到了这一点并且之前没有发现任何事情:
<class className="ViewController" superclassName="UIViewController">
<source key="sourceIdentifier" type="project" relativePath="./Classes/ViewController.h"/>
<relationships>
<relationship kind="outlet" name="BreadrackCollectionView" candidateClass="UICollectionView"/>
<relationship kind="outlet" name="breadboxCollectionView" candidateClass="UICollectionView"/>
</relationships>
</class>
删除了条目
有没有办法彻底清理我的100%Xcode的计算机,并重新开始?我没有做过很多,这是我唯一的项目。我不应该错过任何重要的事情。我是否应该这样做,甚至?
答案 0 :(得分:0)
所以,我找到了答案。它来自非SO资源,但说明如下:
也许您应该尝试清除Xcode以及iPhone的缓存 模拟器。
Xcode缓存: How to Empty Caches and Clean All Targets Xcode 4
iPhone模拟器从菜单中打开模拟器,选择iOS 模拟器 - &gt;重置内容和设置
这适用于我的情况,实际上非常好。我现在可以在项目中使用CollectionView对象,而无需引用错误的属性插座。
感谢大家,感谢您宝贵的意见和时间!