swift 文件写入

iOS 码拜 9年前 (2015-05-02) 2796次浏览 0个评论
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)
            }
        }

上面的代码中,没有把数据写入本地文本中,怎么回事,求指点。

swift 文件写入
usedic的值是存在的,log出来的结果是:swift 文件写入
swift 文件写入
10分
先不转data,直接调用NSString的writeToFile的方法试试,如果有错误可以通过Error指针抓到
swift 文件写入
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"];

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明swift 文件写入
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!