在Xcode中,我们能够在StoryBoard编辑界面或者是xib编辑界面中通过“Control键+拖拽“的方式将某个界面元素和相应的代码文件连接起来。在代码文件里创建outlet。
只是。假设你的运气不太好。运行以上操作的过程中你可能会遇到以下这种错误:
Could not insert new outlet connection: Could not find any information for the class named "xxx".
当中的“xxx”就是你的目标代码文件里的类名。
假设你遇到这种问题。拿着上面的错误消息去百度一下会发现非常多相关的内容,有各种各样的解决方法,只是效果就众说纷纭,有人说这种方法好用,有人说那个方法好用,在这里就整理一下常见的一些情况和相应的解决方法。
首先第一种情况是最简单的,也是最easy被忽略的,就是你在新建类的时候没有选择将这个类增加到相应的“Target”中。
检查方法非常easy,选中你须要操作的类的.m文件。在“File inspector”界面的“Target Membership”中确认相应的“Target”有没有选中,假设没有选中就说明你在创建类的时候犯了各小小的错误。
改动方法非常easy,直接在“File inspector”界面的“Target Membership”中选上相应的target就好了。
假设你的情况和以上不符,有可能是你的项目Derive文件有点问题,解决方法有以下几种,原理都差点儿相同,就是尝试重建项目的一些后台文件。
1. 又一次将文件增加项目
操作步骤就是选中出问题的.m和.h文件,点删除键,然后选“Remove Reference”,这样就不会真正删除文件。
接着选“File -> Add Files to ...”菜单,在文件选择界面选择刚才的.m文件和.h文件将他们又一次增加项目中。
2. 直接删除DeriveData
操作步骤是关闭当前项目,然后关闭Xcode。然后通过Terminal或者是Finder找到以下的文件夹:
~/Library/Developer/XCode/DerivedData
在里面找到以你的项目开头的文件,将他们删除。
接着又一次启动Xcode
3. 在Organizer中删除项目的DeriveData
假设你对Mac操作系统不了解。不知道假设操作第2种解决方法,有一个更加直接的方法,就是在Xcode中选择“Windows->Organizer”,然后选择“Projects”,选中你正在处理的项目,点击“DeriveData”相应的“Delete”button,Xcode会删除该项目的DeriveData。然后自己主动又一次生成一个。
我用的是第二种,亲测有效