我試圖做一個簡單的數據類型來存儲視頻或圖像+聲音,但我收到編譯錯誤「使用未聲明的類型」枚舉MovieItem
和ImageItem
。哪裏不對?枚舉中的未聲明類型聲明在同一個文件
struct MovieItem {
let movieUrl: NSURL
}
struct ImageItem {
let imageUrl: NSURL // UIImage?
let soundUrl: NSURL
}
enum Item {
case MovieItem(MovieItem) // Undeclared type: MovieItem
case ImageItem(ImageItem) // Undeclared type: ImageItem
}
這仍然是一個[懸而未決的問題(https://bugs.swift.org/瀏覽/ SR-169)。如果您不想重命名您的案例或結構,則有一種解決方法。您可以使用封閉模塊限定結構類型名稱。例如,如果在模塊「MyModule」中定義了'struct MovieItem',則應該可以將相應的大小寫爲'case MovieItem(MyModule.MovieItem)'。 – ingoem