我目前正在網上學習幾個Swift類來學習這個新語法,但我覺得我碰到了一堵我無法弄清楚的牆。在Swift中調用自定義的Objective C方法?
我的問題是:我需要做些什麼來在swift中調用自定義的客戶端c方法?爲什麼不快速識別代碼來自哪裏?爲什麼我會遇到如下錯誤:「UIViewController沒有名爲'customMethod'的成員?」?這是一個進口問題嗎?
現在,你知道我的問題,這是爲什麼我要問,背景
我有一個Objective-C .m文件調用此方法:
- (void)configureMyApp
{
// overriden by subclasses
}
那麼這一個:
- (void)addAppElement:(MyAppElement *)element
{
[self addAppElement atIndex:[self.elements count]];
}
在我迅速的應用程序我已經設置了橋接報頭和進口.h文件到所述頭文件
我試圖通過這個快捷功能調用configureMyApp
方法:
func configureMyApp()
{
self.addAppElement...
}
但並不承認功能從我進口的客觀C文件來了,而且也不myswiftfile.swift認識addAppElement
的我會稱之爲obj-c會是這樣的:
- (void)configureMyApp
{
[super configureMyApp];
[self addAppElement:.....];
}
還有什麼我需要做的導入obj-c代碼?我可能會錯過什麼?
您是否正確配置了橋接頭?請參閱[在Cocoa和Objective-C中使用Swift:在同一個項目中使用Swift和Objective-C](https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html#// apple_ref/DOC/UID/TP40014216-CH10-XID_76)。 – Rob 2014-10-10 21:07:26
您是否已將這些方法添加到您的ViewController.h文件中? – ujell 2014-10-10 21:08:48
是的,這些方法是在我的ViewController.h文件,我很積極的橋接頭配置正確,因爲我已經使用需要橋頭的代碼片段 – YichenBman 2014-10-10 21:13:16