2016-10-25 10 views
1

以下のコードで、自分のプロジェクトにあるxcodeファイルに書き込もうとしています。しかし、いくつかの問題については、それを書いていない。私は自分のファイルに何も更新されたテキストを取得していないのです(JSONファイル)私はとのファイル読み取ることができていますSwift3がファイルに書き込まない

 responseString = "Some Text"   
     if let path = Bundle.main.path(forResource: "mapsdatademo", ofType: "json") { 
      do{ 
       try responseString.write(toFile: path, atomically: false, encoding: String.Encoding.utf8) 
      }catch {"Error writting data"} 
     } 

:。

if let path = Bundle.main.path(forResource: "mapsdatademo", ofType: "json") { 
     do { 
      let data = try Data(contentsOf: URL(fileURLWithPath: path), options: .alwaysMapped)} 

注:私は、JSONデータを取得取得し、にそのを書き込みしようとしていますファイル。

+1

可能な複製(http://stackoverflow.com/questions/26889507/how-to-save-an-array-to- [SWIFTにおけるアプリケーションのmainBundleでの.plistする配列を保存する方法] pls-in-the-apps-mainbundle-in-swift) – rmaddy

答えて

-2

あなたの問題はresponseString.writeある(:)

responseString = "Some Text" 
do { 
     try self. responseString.write(to: path!, atomically: true, encoding: String.Encoding.utf8) 
}catch{ 
      print(error) 
} 
+1

いいえ、これは問題の原因ではありません。 – rmaddy

1

TOFILEのiOSをサンドボックス化されます。バンドルから読み込むことはできますが、書き込むことはできません。ドキュメントディレクトリに書き込みます。

if var path = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first { 
    path = path.appendingPathComponent("mapsdatademo.json") 
    do{ 
     try responseString.write(toFile: path, atomically: false, encoding: String.Encoding.utf8) 
    }catch {"Error writting data"} 
} 
関連する問題