2011-01-31 6 views
0

私には1つのNSMutableDictionaryがあり、それにはユーザーの詳細が含まれています。私は構文解析を使用し、MutableDictionaryからデータを取得しています。iPhoneでNSMutableArrayにNSDictionaryを作成するにはどうすればいいですか?

feedDictionaryは、ある {

"city = New York", 
"phone = 111111", 
"email = [email protected]", 
"year = 1986", 
"degree = Undergraduate" 

}

IはFeedArrayにすべての値を追加しており、私は、データを表示しているFeedArray.Becauseための2つの辞書を作成しますセクションテーブルビュー。セクション1 - [市、電話、電子メール]、セクション2 - [年、度]です。データの誰かがnilなので、そのセクションの特定の行を削除しないでください。私はデータが無しであるかどうか、データをチェックしたいので。

編集:

私はFeedArrayに追加する前に、私は文字列をチェックするには、ゼロかではありません。文字列がnilの場合、配列を追加しないでください。データがnilでない場合は、FeedArrayにのみ追加されます。

[self isEmpty:[feedDictionary valueForKey:@"city"]]?:[feedArray addObject:[feedDictionary valueForKey:@"city"]]; //section1 

[self isEmpty:[feedDictionary valueForKey:@"phone"]]?:[feedArray addObject:[feedDictionary valueForKey:@"phone"]]; //section1 

[self isEmpty:[feedDictionary valueForKey:@"email"]]?:[feedArray addObject:[feedDictionary valueForKey:@"email"]]; //section1 

[self isEmpty:[feedDictionary valueForKey:@"year"]]?:[feedArray addObject:[feedDictionary valueForKey:@"year"]]; //section2 

[self isEmpty:[feedDictionary valueForKey:@"degree"]]?:[feedArray addObject:[feedDictionary valueForKey:@"degree"]]; //section2 

-(BOOL) isEmpty :(NSString*)str{ 
     if(str == nil || [[str stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length] == 0) 
    return YES; 
return NO; 

}

の予想される出力、

私の配列は、どのように私は可変配列のための辞書を作成することができます5(

section1{ 
"city = New York", 
"phone = 111111", 
"email = [email protected]", 
} 
section2 
{ 

"year = 1986", 
"degree = Undergraduate"e" 
} 

) です。だから私を案内してください。

ありがとうございます!

答えて

2
NSArray *section0Keys = [NSArray arrayWithObjects:@"city", @"phone", @"email", nil]; 
NSMutableArray *section0 = [[[feedDictionary objectsForKeys:section0Keys notFoundMarker:[NSNull null]] mutableCopy] autorelease]; 
if ([section0 indexOfObject:[NSNull null]] != NSNotFound) { 
    isValid = NO; 
} 
// you don't need this if you don't care for invalid arrays. 
[section0 removeObjectsInArray:[NSArray arrayWithObject:[NSNull null]]]; 

NSArray *section1Keys = [NSArray arrayWithObjects:@"year", @"degree", nil]; 
NSMutableArray *section1 = [[[feedDictionary objectsForKeys:section1Keys notFoundMarker:[NSNull null]] mutableCopy] autorelease]; 
if ([section1 indexOfObject:[NSNull null]] != NSNotFound) { 
    isValid = NO; 
} 
[section1 removeObjectsInArray:[NSArray arrayWithObject:[NSNull null]]]; 

self.dataArray = [NSArray arrayWithObjects: 
section0, 
section1, 
nil]; 

あなたのUITableViewデータソース方法:


編集:私は私はあなたの編集した質問を誤解と思います。あなたのコードは見栄えがよく見えます。

+0

返信いただきありがとうございます。しかし、私の更新された質問を見て、私を助けてください。ありがとう。 – Pugal

+0

@Pugal Devanは私の編集を参照してください –

+0

あなたは鉱山よりもスパンの方が良いです。これは私がちょうど好きだったそれらの質問の1つだった...何?そして、私は去った。いいね。 –

関連する問題