溫馨提示×

Swift如何與Objective-C交互

小億
120
2024-04-11 11:57:09
欄目: 編程語言

在Swift中與Objective-C交互可以通過使用Objective-C的代碼或框架,以及使用Swift中的@objc@objcMembers屬性來實現。

  1. 使用Objective-C的代碼或框架: 可以直接在Swift中導入Objective-C的框架或文件,然后通過Swift來調用Objective-C中的方法或類。

  2. 使用@objc@objcMembers屬性: 在Swift中,通過在類、屬性、方法前面添加@objc屬性來暴露給Objective-C使用。同時,通過在Swift類前添加@objcMembers屬性來表示整個類及其成員都應該被暴露給Objective-C使用。

示例代碼如下:

@objc class SwiftClass: NSObject {
    @objc var property: String = "Hello"
    
    @objc func swiftMethod() {
        print("Swift method called")
    }
}

@objcMembers
class AnotherSwiftClass: NSObject {
    var anotherProperty: Int = 10
    
    func anotherSwiftMethod() {
        print("Another Swift method called")
    }
}

在Objective-C中,可以通過導入Swift的模塊來使用這些暴露給Objective-C的Swift類和方法:

#import "ProjectModuleName-Swift.h"

SwiftClass *swiftObj = [[SwiftClass alloc] init];
[swiftObj swiftMethod];

AnotherSwiftClass *anotherSwiftObj = [[AnotherSwiftClass alloc] init];
[anotherSwiftObj anotherSwiftMethod];

通過以上兩種方法,可以在Swift和Objective-C之間實現相互調用和交互。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女