2017-07-28 29 views
0

新手到迅速自定義的迅速對象的陣列不能被轉換爲目標c型

我正在做混合語言(SWIFT &目的-C)程序,並且遭遇試圖進口斯威夫特在差錯成Objective-C的

這裏是我的代碼

@objc public enum ItemType: Int { 
    case left, right 
} 
public class MyClass { 
    @objc var items: [ItemType] = [] 
} 

以下是錯誤 enter image description here

似乎有些不對勁有關ItemType,但我看到的ItemType的定義在我-swift.h文件

可以在任何一個給我一個提示?

+0

你有沒有搭橋? – Nirmalsinh

+0

是的,如果我沒有弄錯你的話,它們都會迅速變成objc和objc。 – Jimmy

回答

0

Swift和Objective-c枚舉的性質有很大不同。舊的Objective-c枚舉是現代Swift枚舉的很小的子集。目前編譯器不知道如何從Objective-c代碼中使用Swift的枚舉,因此它們不能是@objc類型。 MyClass也不能是@objc類型,但它包含swift的枚舉。