Как вы удаляете уже перенесенные файлы Objective-C, которые находятся внутри проекта XCode?Функция main.m может обращаться к функциям Swift, но я должен сохранить файлы .h и .m, которые были преобразованы в ее эквивалент Swift?
Я смог преобразовать класс Objective-C в Swiftучебный класс.Затем я получил доступ к функциям Swift из main.m.
Ниже приведены файлы .h и .m:
@interface SimpleClassObject:NSObject
-(void) IntVariableSent:(int)x;
-(int) MethodReturn: (int)y;
@end;
Ниже приведен файл .m
@implementation SimpleClassObject
-(void) IntVariableSent:(int)x
{
NSLog(@"The value of x = %d was passed into this Objective C method", x);
}
-(int) MethodReturn: (int)y
{
int multiply = 3;
multiply *= y;
NSLog(@"An integer was passed to MethodReturn of y = %d", y);
return multiply;
}
@end
Ниже приведен класс Swift:
class SimpleClassObject2: NSObject {
func intVariableSent(_ x: Int) {
print("The value of x = \(x) was passed into a Swift function")
}
@objc func methodReturn(_ y: Int) -> Int {
var multiply: Int = 3
multiply *= y
print("An integer was passed to methodReturn of y = \(y)")
return multiply
}
}
Ниже main.m
int main(int argc, const char * argv[])
{
@autoreleasepool {
int valueReturnedFromFunction;
SimpleClassObject2 *swftObj = [[SimpleClassObject2 alloc]init];
[swftObj passNothingReturnNothing];
[swftObj intVariableSent:90];
valueReturnedFromFunction = (int)[swftObj methodReturn:80];
printf("\n%d value using Swift class\n\n", valueReturnedFromFunction);
}
return 0;
}