Подтвердить что ты не робот

Использование класса Swift в Objective c. Необъявленная ошибка идентификатора ocurs

Я создал тестовый проект, чтобы попробовать Swift. Но я задерживал импорт класса Swift в класс Objective-C. Название проекта - "TestSwift1". И я установил Defines Module in Packaging в YES. XCode-Beta3

У меня есть следующий код:

//swift SwtClass.swift  
import Foundation

class SwtClass
{
     var title = ""
}
//Objective-C ObjClass.h

@interface ObjClass : NSObject

@property (nonatomic, strong) NSString* title;

@end

//Objective-c ObjClass.m
#import <Foundation/Foundation.h>
#import "ObjClass.h"
#import <testSwift1-Swift.h>

@implementation ObjClass

- (void)doSomething
{
      SwtClass* b; // Error: "Use of undeclared identifier 'SwtClass'"
                   // Error: "Use of undeclared identifier 'b'"

      NSLog(@"something is done");
}

@end
4b9b3361

Ответ 1

При написании этого вопроса я нашел решение. И, как всегда, это было очень просто, но потребовалось некоторое время, может быть, это спасет кого-нибудь пару минут.

Чтобы использовать класс Swift ( не является подклассом NSObject) в Objective-C, не забудьте пометить его @objc, как сказано здесь "Использование Swift из Objective-C" . Мой класс Swift должен был выглядеть так:

//swift SwtClass.swift  
import Foundation

@objc class SwtClass
{
     var title = ""
}