2014-11-08 33 views
1

我願意通過從Swift中調用它的類初始化函數之一來獲得對Objective-C類實例的引用。Swift:無法調用Objective-C類的類方法

類我願意用的是AWSMobileAnalytics,可在https://github.com/aws/aws-sdk-ios/blob/master/AWSCore/MobileAnalytics/include/AWSMobileAnalytics.h

它定義這樣

@interface AWSMobileAnalytics : NSObject 

+ (instancetype)mobileAnalyticsForAppId:(NSString *)appId; 

... 
@end 

一個初始化器我的代碼是

let ma = AWSMobileAnalytics.mobileAnalytics(forAppId: appId) 

(我試過很多變種)。編譯器說

Type AWSMobileAnalytics.Type has no member 'mobileAnalytics'

什麼建議嗎?

勒布

回答

0

確保您已在縮小header.You需要這樣

let ma = ViewController.mobileAnalyticsForAppId("abc") 
+0

或者AWSMobileAnalytics(forAppId:APPID) – Shuo 2014-11-08 10:07:19

+0

@Shuo不'AWSMobileAnalytics(forAppId:APPID)'的intilizer只跳過部分之前有'With'。所以這個你的建議不會工作。 – codester 2014-11-08 10:13:35

+0

你也可以依靠自動完成類型的AWSMobileAnalytics(並讓Xcode爲你提供其餘的建議 – DPlusV 2014-11-08 10:35:43

0

調用沒有必要使用橋接報進口的框架。

只需導入像這樣在你的AppDelegate:

import AWSMobileAnalytics 

然後

AWSMobileAnalytics(forAppId: "yourID")