ios – 在Objective c中使用Swift类.未声明的标识符错误出现

我创建了一个测试项目来尝试 Swift.但是我一直在将 Swift类导入到Objective-C类中.项目名称为“TestSwift1”.我已经将包装中的定义模块设置为YES.的XCode-β3

我有下面的代码

//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

解决方法

在写这个问题的时候我找到了解决方案.和往常一样,这很简单,但花了一段时间,也许这将节省一些人几分钟.

在Objective-C中使用Swift类(不是NSObject的子类)不要忘记使用@objc来标记它,就像这里所说的那样.“Using Swift from Objective-C”.我的Swift类必须如下所示:

//swift SwtClass.swift  
import Foundation

@objc class SwtClass
{
     var title = ""
}

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...