我创建了一个测试项目来尝试
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 = "" }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。