不确定这是我的代码中的错误还是XCode中的故障。
我有这个类(为了清楚起见,简化版)
public class Error {
let errors: [ (title: String, message: String)] =
[("Some error title","Some error message"),
("Another error title", "Another error message")
]
var errorNo : Int
init (_ errorNo: Int) {
self.errorNo = errorNo
}
func title () -> String {
return self.errors[self.errorNo].title
}
func message () -> String {
return self.errors[self.errorNo].message
}
}
在另一堂课中我有
if someCondition {
return Error (0)
}
现在奇怪的是......一切都在编译并运行但是如果我让XCode闲置一会儿(不是我正在使用的最快的电脑),XCode会给我臭名昭着的红点(带惊叹号)错误:
'错误'无法构建,因为它没有可访问的初始化程序
每次我做错误(0)(无论我在构造函数中使用的Int)
我可以再次编译并运行,错误消失然后重新出现
使用XCode版本8.1(8B62)
********见评论****其他信息********
还是一个(现在将错误重命名为AppError后的类似问题)
func doSomething (blah: Int, test : String) -> AppError {
some code
return AppError(1)
}
它编译并运行但是在一段时间后,func doSomething
旁边会弹出一个错误使用未声明类型'AppError'
答案 0 :(得分:0)
错误是Swift协议,因此没有可访问的初始化程序。您的编译器可能会将Swift.Error与本地的Error混淆。在引用您的错误类型以避免混淆时,您应该包含名称空间,即
(目标名称)。错误
关于将类重命名为AppError后看到的错误,有一个XCode错误,在该应用程序编译和运行后,它会显示旧错误,只要它正在编译和运行,您就可以忽略这些错误。