if(tex_name.text == "" || tex_paw.text == "") { self.alert("プロンプト", mess:"Zアカウントまたはパスワードが空にすることはできません", addbtn: "ok") }else { //查找文件路劲 let datapath = NSHomeDirectory() + "/MyDemo/history.txt" if NSFileManager.defaultManager().fileExistsAtPath(datapath) { //文件存在 } else { //文件不存在,写入 let usename = tex_name.text as String let uspaw = tex_paw.text as String let usedic = ["name":usename, "paw":uspaw] as Dictionary //写入数据 let newdata = usename.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)! newdata.writeToFile(datapath, atomically: false) } } 上面的代码中,没有把数据写入本地文本中,怎么回事,求指点。 |
|
usedic的值是存在的,log出来的结果是:
|
|
10分 |
先不转data,直接调用NSString的writeToFile的方法试试,如果有错误可以通过Error指针抓到
|
10分 |
应该是文件所在目录没有写权限的问题吧。
因为应用是在沙箱(sandbox)中的,在文件读写权限上受到限制,你只能在几个目录下读写文件。如documents, tmp 你可以尝试使用下面的代码来找到documents目录 NSArray *paths=NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask, YES); NSLog(@"Get document path: %@",[paths objectAtIndex:0]); NSString *fileName=[[paths objectAtIndex:0] stringByAppendingPathComponent:@"MyDemo/history.txt"]; |