所以我有这个:
private static func getSessionCookie() -> String? {
let documentsDirectory = applicationDocumentsDirectory()!.path!
let filePath = "\\" + documentsDirectory.stringByAppendingString(sessionCookieFileName)
var error: NSError?
return String(contentsOfFile: filePath, encoding: NSUTF8StringEncoding, error: &error)
}
private static func setSessionCookie(newSessionCookie: String) {
let documentsDirectory = applicationDocumentsDirectory()!.path!
let filePath = "\\" + documentsDirectory.stringByAppendingString(sessionCookieFileName)
var error: NSError?
newSessionCookie.writeToFile(filePath, atomically: true, encoding: NSUTF8StringEncoding, error: &error)
}
setter运行良好,它获取正确的文档目录并创建正确的文件路径。现在,getter为applicationDocumentsDirectory调用返回了一些奇怪的值:" \ xd0 \ xb0K7"。
发生了什么?我做错了吗?
更新添加了更多代码以帮助澄清问题
let sessionCookieFileName = "sessionCookie.txt"
func applicationDocumentsDirectory() -> NSURL? {
return NSFileManager.defaultManager().URLsForDirectory(NSSearchPathDirectory.DocumentDirectory, inDomains: NSSearchPathDomainMask.UserDomainMask).last as? NSURL
}
答案 0 :(得分:1)
您可能会看到调试器工件。 Swift倾向于重新排序指令或将断点放在错误的位置。如果您看到您描述的垃圾值,请尝试单步执行代码并验证设置行是否实际执行。
这是有趣的“不相关的错误”之一,可能会或可能不会导致您的问题。
答案 1 :(得分:0)
删除\\
let filePath = documentsDirectory.stringByAppendingString(sessionCookieFileName)
应该工作..在游乐场测试