Swift

Swift: Xcode 7のアクセスメソッドのエラーに対処

Xcode 7は細々したところでコンパイルエラーが起きるので本当にうっとおしいですね。

地図の機能のひとつとしてランドマークをユーザがカスタマイズできるように機能追加しています。それには、.txtファイルを読み書きする必要があります。昔作ったコードを引っ張り出したら、早速、コンパイルエラーが発生しました。

return NSString.stringWithContentsOfFile(filepath, encoding:NSUTF8StringEncoding) as String

次のように修正したらOKになりました。contentOfFileまではそうだろうと想定できたのですが、その後が(でなくで:だったのでここでつまづきました。あと、do { try }はすでにほかの箇所で実装していたのですが、なぜか気に入っています。

注意:下記の書き方に関連してほかの箇所で不思議なエラーが発生したため、①doの前にif elseを追加、②contentsOfFileの行のNSStringをStringに変更し、as Stringを削除」したら、.txtファイルの読み込みができました。if文を入れないと、全然関係のない箇所がコンパイルエラーになりました。

var wEStatus:String = “”  //エラー状態の初期化
var wBool:Bool = true //エラー有無の初期化
if wBool == true { 

do {                             
 return try (String(contentsOfFile: filepath, encoding: NSUTF8StringEncoding) , wBool, wEStatus)
} catch let error as NSError {       
 wEStatus    =   “filepath=\(filepath) \(error)”  //エラー情報をsetする。
 wBool = false   //エラーが発生した。
}
}  else { }                                                      

return (“”, wBool, wEStatus)   // == return == 異常

本当に色々です。それはそうと、さっき調べものをしていて、raw fileをrow fileと書いてしまったことに気がつきました。WordPressが悪いのか、Firefoxが悪いのか、スペルチェックはどうなっているのでしょう?もちん、FirefoxのpreferenceはONになっているのですが。

参考:ReadはこれでOK。Writeは評価未了。

スクリーンショット 2015-10-03 00.13.28

Categories: Swift, 技術