2012-03-08 11 views
-1

NSUserDefaultの2ラベルの値をNSMutableArrayに保存しました。NSUserDefault to NSArray

私の問題は、NSArrayの値を取得する方法です。

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
self.dataArray = [prefs arrayForKey:@"bookmarks"]; 

NSString *author = ?? 
NSString *book = ?? 
+0

-1。オブジェクトの不適切な命名RTM。 –

+0

NSArrayをNSUserDefaultsに追加することはできません。この記事を参照してください[http://stackoverflow.com/questions/537044/storing-custom-objects-in-an-nsmutablearray-in-nsuserdefaults][1] [1]:のhttp:// stackoverflowの.com/questions/537044/storage-custom-objects-in-an-nsmutablearray-in-nsuserdefaults – rakeshNS

答えて

1
NSString * author = [self.dataArray objectForKey: @"author"]; 
NSString * book = [self.dataArray objectForKey: @"book"]; 

このあなたが成功し、配列を保存し、あなたが成功しNSUserDefaultsから、アレイの再ロードされていることを前提としてい。あなたは本当にあなたのコードでいくつかのエラーチェックを行う必要があります。

+0

申し訳ありません。あなたを誤解しました。返信の場合は –

0

辞書を使用して配列を挿入しました。

self.dataArray = [prefs arrayForKey:@"bookmarks"]; 
NSString *author = [self.dataArray objectAtIndex:0] objectForKey:@"author"]; 
NSString *book = [self.dataArray objectAtIndex:0] objectForKey:@"book"]; 

ただし、ユーザーの既定値に直接辞書を格納することをお勧めします。

+0

Thkです。 NSArrayを使用して、NSUserDefaultのデータを取得するためのTableViewのセルを作成します。 NSArrayを正しく使用していますか? – Maurizio

+0

その目的のためにNSArrayを使用しても構いません。 – Vignesh

1

dataArrayに、ブックマークをたくさん保存できます。このメソッドはブックマークをすべてロギングできます。

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
self.dataArray = [prefs objectForKey:@"bookmarks"]; 

for(int i=0;i<[dataArray count];i++){ 
    NSDictionary *dic = [dataArray objectAtIndex:i]; 
    NSLog(@"%@",dic); 
    NSString * author = [dic objectForKey: @"author"]; 
    NSString * book = [dic objectForKey: @"book"]; 
}