0

以前にこの質問をしましたが、間違った質問をしたと思われるので、より明確にします。答えは非常によく考えられていて、役に立ちました。私の IOS Xcode で知りたいのですが... Master/Detail View テンプレートがあります。バンドルから Plist を使用してマスター テーブル ビューを読み込んでいますが、ドキュメント フォルダー内の Plist を更新しています...これらの更新をバンドルに反映させる方法と、画面を更新する方法を教えてください。できればアドバイスください。前もって感謝します。よろしく、

マスター テーブルをロードするためのコードは次のとおりです ... 何かが正しくないように見えます: ドキュメント フォルダからロードしています ... しかし、ドキュメントからすべてのレコードを取得していません:

NSLog(@"loading data");
    self.navigationItem.title=@"Accounts";
//    NSString *accountFile = [[NSBundle mainBundle] pathForResource:@"Accounts2" ofType:@"plist"];
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentPath = [paths objectAtIndex:0];
    NSString *plistPath = [documentPath stringByAppendingPathComponent:@"Accounts2.plist"];
    accounts = [[NSMutableDictionary alloc] initWithContentsOfFile:plistPath];
    account = [accounts objectForKey:@"Account"];
    number = [accounts objectForKey:@"Number"];
    dueDay = [accounts objectForKey:@"DayDue"];
    minAmount = [accounts objectForKey:@"MinAmount"];
    balance = [accounts objectForKey:@"Balance"];

    NSLog(@"data loaded");

    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    self.navigationItem.leftBarButtonItem = self.editButtonItem;

    UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(insertNewObject:)];
    self.navigationItem.rightBarButtonItem = addButton;
4

1 に答える 1

0

アプリ バンドルでは何も更新できません。読み取り専用です (少なくとも実際の iOS デバイスでは)。

Documentsplist ファイルの読み取りと書き込みはすべて、フォルダーなどの書き込み可能な場所から行う必要があります。ファイルに初めてアクセスしようとすると、ファイルは存在しません。解決策は、アプリ バンドルから初期ファイルをコピーすることです。それ以降は、コピーの読み取り/書き込みのみを行いますDocuments

于 2013-06-10T21:38:38.183 に答える