Junior — Middle
Чӣ гуна ворид кардани коди Swift ба лоиҳаи Objective-C анҷом дода мешавад?
sobes.tech AI
Ҷавоб аз AI
Интегратсияи коди Swift ба лоиҳаи Objective-C тавассути он ки онро "Bridging Header" меноманд ва файли автоматӣ тавлидшудаи ProjectName-Swift.h анҷом дода мешавад.
Қадамҳои асосӣ:
-
Ба лоиҳаи Objective-C файли Swift илова кунед. Xcode пешниҳод мекунад, ки Bridging Header эҷод кунед — он барои интегратсияи баргаштаи Objective-C ба Swift зарур аст, аммо барои даъвати Swift аз Objective-C ҳатмӣ нест.
-
Барои даъват кардани Swift аз Objective-C, истифода баред файли автоматӣ тавлидшудаи
ProjectName-Swift.h. Онро бо дастӣ эҷод кардан зарур нест, Xcode онро тавлид мекунад. -
Дар файлҳои Objective-C, ин заголовокро ворид кунед:
#import "ProjectName-Swift.h"
- Акнун метавонед синфҳо ва методҳои умумии 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]);