我正在使用 Swift 2 并且正在查看我的代码以查找我正在保护并且我可能想要使用guard
. 这是一个...
var mods : String = ""
let modpath = NSBundle.mainBundle().pathForResource(filename, ofType: "ini", inDirectory: "mods/gamedata")
if modpath?.length > 0 {
mods = try! String(contentsOfFile: modpath!, encoding: NSUTF8StringEncoding)
} else {
mods = ""
}
此代码的目标是将文本文件的内容读入mods
. 这个文件可能存在也可能不存在,所以我想在尝试读取内容之前测试它是否存在。
这是一个合适的地方使用guard
吗?看起来它只有else
语法,没有then
侧面,所以你不能直接匹配这个语法。我可以在开始时将 mods 设置为“”,然后保护读取,但我不清楚这是否真的提高了可读性?
作为旁注,我发现 String(contentsOfFile) 抛出非常奇怪,而 bundle.pathForResource() 只是返回一个 nil。我更喜欢后者。