2014-11-08 67 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")