以下のコードでlet data = NSString(contentsOfFile: filePath, encoding: NSUTF8StringEncoding, error: nil)がエラーになります。
import Cocoa
import Foundation
class ViewController: NSViewController {
override func viewDidLoad() { super.viewDidLoad() let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true) let filePath = paths[0].stringByAppendingPathComponent("dictionary00.txt") let data = NSString(contentsOfFile: filePath, encoding: NSUTF8StringEncoding, error: nil) data.enumerateLines { (line, stop) -> () in println(line) println(split(line,{ $0 == "\t"})) } // Do any additional setup after loading the view. } override var representedObject: AnyObject? { didSet { // Update the view, if already loaded. } }
}
正しい開き方を教えていただけないでしょうか。
よろしくお願いします。
解決しました。
下記のコードが最終コードとなります。
import Cocoa
import Foundation
extension String : CollectionType {}
class ViewController: NSViewController {
override func viewDidLoad() { super.viewDidLoad() let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true) let filePath = paths[0].stringByAppendingPathComponent("test01.txt") print (filePath) let data = htmlStringWithFilePath(filePath) data!.enumerateLines { (line, stop) -> () in print(line) print(split(line){ $0 == "\t"}) } // Do any additional setup after loading the view. } override var representedObject: AnyObject? { didSet { // Update the view, if already loaded. } } private func htmlStringWithFilePath(path: String) -> String? { do { let data = try String(contentsOfFile: path, encoding: NSUTF8StringEncoding) return data } catch { print("Lookup error: no HTML file found for path, \(path)") return nil } }
}
質問文を編集して、ViewControllerのコードを丸ごと貼り付けてください。
回答4件
あなたの回答
tips
プレビュー