自动框架链接不起作用

时间:2014-12-06 04:17:47

标签: objective-c cocoa import

今天我了解到@import语句实际上可以帮助自动链接框架。

好的,我创建了一个项目,添加了WebView。它给我一个WebView未定义的错误。好的,我写了@import WebKit - 错误消失了,我可以使用所有WebView方法。

...我运行了应用程序并且崩溃了

*** Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException', reason: '*** -[NSKeyedUnarchiver decodeObjectForKey:]: cannot decode object of class (WebView)'

然后我手动添加WebKit.framework并且......它有效。那么@import声明的重点是什么?自动链接已开启......

enter image description here

1 个答案:

答案 0 :(得分:0)

import导入标题。因此,WebView的名称以及WebKit中的方法和其他内容将被定义,您的代码可以编译。链接链接代码 - WebView实际存在和呼吸的代码,并且具有它的存在 - 因此您的代码可以运行

通常,如果使用@import导入框架,则会发生这两种情况。您可以编译代码,因为导入,您可以在框架中运行代码,因为导入也执行自动链接。

但是您正在从nib 实例化WebView 。因此,您还必须明确链接,否则在加载nib时会崩溃。如果您在笔尖中使用MapView ,情况也是如此 - 您需要明确链接MapKit,否则在nib加载时会崩溃。