今天我了解到@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
声明的重点是什么?自动链接已开启......
答案 0 :(得分:0)
import
导入标题。因此,WebView的名称以及WebKit中的方法和其他内容将被定义,您的代码可以编译。链接链接代码 - WebView实际存在和呼吸的代码,并且具有它的存在 - 因此您的代码可以运行。
通常,如果使用@import
导入框架,则会发生这两种情况。您可以编译代码,因为导入,您可以在框架中运行代码,因为导入也执行自动链接。
但是您正在从nib 实例化WebView 。因此,您还必须明确链接,否则在加载nib时会崩溃。如果您在笔尖中使用MapView ,情况也是如此 - 您需要明确链接MapKit,否则在nib加载时会崩溃。