我有一个枚举,就像在我的objective-c头文件中声明的那样:
typedef NS_ENUM(NSInteger, FontSize) {
VerySmall = 12,
Small = 14,
Medium = 16,
Big = 18
};
然后在我的桥接标题中导入此标题。
从我的swift代码中,当我尝试将'FontSize'声明为参数时,编译器会说'使用未声明的类型FontSize'。
从开发者指南中,这应该是可能的。有没有遇到同样问题的人?
答案 0 :(得分:4)
从干净的 Swift 项目重新开始,添加一个.h
文件(接受自动创建桥接标题)
Objective-C FontSize.h
typedef NS_ENUM(NSInteger, FontSize) {
VerySmall = 12,
Small = 14,
Medium = 16,
Big = 18
};
<强>桥接报头强>
#import "FontSize.h"
快速实施
import UIKit
class ViewController: UIViewController {
let fontSize:FontSize = .VerySmall
}
建立,链接,运行&amp;在Xcode 6.4&amp; D测试7.0。
答案 1 :(得分:2)
我遇到了同样的问题并通过以下方式解决了这个问题:
var allRows = this.oTable.getRows();
for( r=0;r<allRows.length;r++)
{
var isExpanded = this.oTable.isExpanded(r);
console.log("Row : "+r+" isExpanded:"+isExpanded);
}
答案 2 :(得分:1)
即使上面有NS_ENUM答案,我仍然无法看到我的枚举。
事实证明,XCode 7.3发生了变化,其中NS_ENUM必须在@interface- @ end block之外定义。
Calling obj-c enum from swift not working after upgrading to Xcode 7.3 swift 2.2