0

iOS でテキスト ファイルからオブジェクトを簡単に作成できるように、テキスト ファイルを保存する便利な方法は何でしょうか?

例えば:

  • スプレッドシート -> XML -> NSObject サブクラス (これの問題は、Google Docs スプレッドシートが OpenDocument スプレッドシート XML ファイルにしかエクスポートできないことです。これは解析するのに非常に不便です)
  • csv -> NSObject サブクラス (csv はエラーが発生しやすい)

保存するサンプルデータ:

  • 名前 - 番号 - メール
  • アリス - 012345 - Alice@Alice.com
  • ボブ - 78910 - Bob@Bob.com

作成するサンプル クラス:

@interface Person : NSObject
{
    NSString *name;
    NSString *number;
    NSString *email;
}

ありがとうございました

4

3 に答える 3

1

iOS でこれを行うための推奨される (そして簡単な) 方法は、プロパティ リスト (plist) ファイルです。Apple の plists へのエントリ ドキュメントは次のとおりです

これらは基本的に iOS の JSON であり、実際には NSJSONSerialization クラス メソッドを使用して 2 つの間で簡単に変換できます。

この手法は、Apple のやり方 (Apple 開発者コミュニティでの勝利) と一致しており、外部ライブラリを必要としません。さらに、将来的にアプリを拡張することにした場合に備えて、plist を書き戻すための組み込みサポートがいたるところにあります。

ただし、ファイルから実際のカスタム オブジェクト (つまり、カスタム クラスのインスタンス) を取得するには、もう少し複雑なオブジェクト アーカイブの世界を探索する必要があることに注意してください。

于 2012-07-08T05:23:29.223 に答える
0

プレーンテキスト データしかないと仮定すると、次のようになります。

  1. スプレッドシートを CSV にエクスポートします。
  2. CSV モジュールを使用して Python で CSV を読み取ります。
  3. minidom モジュールを使用して、好みの XML に変換します。
  4. Obj C で XML を読み取ります。これには SMXML を使用しました (https://github.com/nfarina/xmldocument/)。それほど速くはありませんが、非常に便利です。

このプロセスは、AppleScript を使用して自動化することもできます。

于 2012-07-08T05:22:57.000 に答える
0

本当に洗練されたソリューションが必要で、必要なファイルの種類を使用できる場合は、plist を使用し、NSCoding プロトコルの initWithCoder: および encodeWithCoder: メソッドを使用して、クラス/インスタンスをプロパティ リスト オブジェクトに変換できるようにします。

于 2012-07-08T05:50:16.817 に答える