2014年3月8日土曜日

クラスの内容をファイルに出力する方法(4)

最後にヘッダー。

//
//  saveClass
//
//  (C) 2014 by AIG-Soft
//  under Apache License

#import <Foundation/Foundation.h>

BOOL    saveClass(  id object,NSString *basePath);
BOOL    deleteClass(id object,NSString *basePath);
BOOL    loadClass(  id object,NSString *basePath);
NSArray *propertyNames(id object);
NSArray *memberNames(id object);
NSDictionary *propertiesAttributes(id object);
NSDictionary *memberAttributes(id object);






で、こんな感じで使う。
propertyNames(self);
propertiesAttributes(self);
memberNames(self);
memberAttributes(self);
saveClass(  self, makeDocumentsPath());
loadClass(  self, makeDocumentsPath());
deleteClass(self, makeDocumentsPath());
ちなみにmakeDocumentsPath()はこんな関数。
NSString *makeDocumentsPath(void)
// ディレクトリ「Documents」のフルパスを得る
// iTunesからのデータやりとりもここ
{
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    // paths[0]を取り出す;そこにディレクトリ名が入っているらしい
    NSString *documentsDirectory = (([paths count] > 0)?         // 見つかったら
                                    /* これ↑は単なるポインタ参照 */
                                    paths[0]                     // 最初のもの
                                    : NSTemporaryDirectory() );  // なければ一時ディレクトリ
    return (documentsDirectory);
}
使って頂いて、デバッグや改良点などあれば教えていただければありがたいかと。

0 件のコメント:

コメントを投稿