[英]Integrate swift in objective c framewok
我正在啟動一個目標框架,並希望在其中集成一些快速代碼。 根據官方文件。 ( https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html#//apple_ref/doc/uid/TP40014216-CH10-XID_78 )
因為為框架目標生成的標頭是框架的公共接口的一部分,所以只有標有public修飾符的聲明才會顯示在框架目標的標頭中。 您仍然可以在框架的Objective-C部分中使用帶有內部修飾符標記的Swift方法和屬性,只要它們是在從Objective-C類繼承的類中聲明的即可。
但是,我發現不可能像下面這樣訪問swift的內部部分:
@objc內部類A:NSObject {}
引號說:“您仍然可以使用帶有內部修飾符標記的Swift 方法和屬性 ”(添加了重點)。 在您的示例中,是internal
的類 (而不是方法或屬性)。 如果將類設為public
並添加內部方法,則應該可以訪問該方法。
編輯 :以下為我工作:
迅速:
@objc public class MyClass : NSObject {
internal func bar() -> String { return "foobar" }
}
目標C:
#import "MyApplication-Swift.h"
MyClass *foo = [[MyClass alloc] init];
NSLog(@"%@", [foo bar]);
請注意,必須為生成的MyApplication-Swift.h
更新代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.