2014-12-06 54 views
1

今天我才知道@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

回答

0

import进口。因此,WebView这个名字与WebKit中的方法和其他东西一起被定义,并且您的代码可以编译。链接链接代码 - WebView实际生活和呼吸并具有其存在的代码 - 因此您的代码可以运行

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

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