【发布时间】:2014-08-15 07:11:15
【问题描述】:
我有方法:
func getByEmail(email:String) -> MeeterAccount{
for acct in accountsList {
if acct.getEmail().equalsIgnoreCase(email) {
return acct;
}
}
return nil; // here I get an error: type 'MeeterAccount' does not conform to protocol NilliteralConvertible
}
如何摆脱这个错误?
我想写这样的东西:
func getByEmail(email:String) -> MeeterAccount{
var out:MeeterAccount!
for acct in accountsList {
if acct.getEmail().equalsIgnoreCase(email) {
out = acct
}
}
return out;
}
这不会引发此错误。听起来斯威夫特让我只写第二种方式。
为什么我不能返回nil?
【问题讨论】:
-
第二个版本可以编译,但如果您尝试返回 nil,可能会导致崩溃。
标签: swift