Cocoa/Objective-C将嵌套字符串/数据写入文件,怎么做?

Ned*_*bly 0 cocoa objective-c plist

我需要创建一个包含6条记录的xml .plist,其中记录5是来自用户的输入字符串,其余的都是固定数据.我不确定这样做的最佳方法是什么?看起来它应该很简单,但我没有取得多大成功.

需要编写的数据如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>AREA51</key>
    <dict>
       <key>ORIGIN</key>
       <data>M45</data>

          ...(4 more records)... 

              (USER STRING) 

          ...(1 more record)...

   </dict>
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)

我尝试过一些例子,但我认为它们已经过时而且不符合规范.谢谢!

Die*_*Epp 5

我不知道这个教程怎么可能会过时,你这样做的方式在十年之内没有改变.创建字典,并使用该-writeToFile:atomically:方法.

NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
    // object first...
    [NSDictionary dictionaryWithObjectsAndKeys:
        @"M45", @"ORIGIN", // object first, then key
        ... // repeat
        nil],
    // then key...
    @"AREA51",
    nil];
[dict writeToFile:path atomically:NO];
Run Code Online (Sandbox Code Playgroud)

(我不知道你是否真的需要原子写作.YES如果你不确定,可以安全地改变它.)