Sobes.tech
Junior — Middle

Чӣ гуна ворид кардани коди Swift ба лоиҳаи Objective-C анҷом дода мешавад?

sobes.tech AI

Ҷавоб аз AI

Интегратсияи коди Swift ба лоиҳаи Objective-C тавассути он ки онро "Bridging Header" меноманд ва файли автоматӣ тавлидшудаи ProjectName-Swift.h анҷом дода мешавад.

Қадамҳои асосӣ:

  1. Ба лоиҳаи Objective-C файли Swift илова кунед. Xcode пешниҳод мекунад, ки Bridging Header эҷод кунед — он барои интегратсияи баргаштаи Objective-C ба Swift зарур аст, аммо барои даъвати Swift аз Objective-C ҳатмӣ нест.

  2. Барои даъват кардани Swift аз Objective-C, истифода баред файли автоматӣ тавлидшудаи ProjectName-Swift.h. Онро бо дастӣ эҷод кардан зарур нест, Xcode онро тавлид мекунад.

  3. Дар файлҳои Objective-C, ин заголовокро ворид кунед:

#import "ProjectName-Swift.h"
  1. Акнун метавонед синфҳо ва методҳои умумии Swift-ро дар Objective-C истифода баред.

Мухим:

  • Синфҳои Swift бояд бо модификатори @objc ё аз NSObject мерос гиранд, то дар Objective-C намоён бошанд.

Маслиҳат барои синфи Swift:

@objc class MySwiftClass: NSObject {
    @objc func greet() -> String {
        return "Hello from Swift!"
    }
}

Дар Objective-C:

MySwiftClass *obj = [[MySwiftClass alloc] init];
NSLog(@"%@", [obj greet]);