我在Objective-C中的代码是
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"Logger.txt"]; NSString *content = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:NULL];
当我尝试将其转换为swift时,我无法转换它,因为不推荐使用ContentsOfFile方法.任何人都可以告诉我如何将其转换为swift?我正在使用Xcode 7.2和swift 2.2.我在swift中的代码是
var paths : NSArray = NSSearchPathForDirectoriesInDomains(.DocumentDirectory,.UserDomainMask,true) var documentsDirectory : NSString = paths[0] as! String var filePath = documentsDirectory.stringByAppendingPathComponent("Logger.txt") var error:NSError? let content = NSString(contentsOfFile: filePath,encoding:NSUTF8StringEncoding,error: &error) if let theError = error { NSLog("\(theError.localizedDescription)") }
解决方法
斯威夫特2
let path:String = NSBundle.mainBundle().pathForResource("Logger",ofType: "txt")! txtContent.text = try? String(contentsOfFile: path,encoding: NSUTF8StringEncoding)
斯威夫特3
let path:String = Bundle.main.path(forResource: "Logger",encoding: String.Encoding.utf8)