1

{} * & ^ % $ # @ のような文字列内の特殊文字を識別する方法についてちょっと質問があります。_ . Nsrange は私を助けてくれません。

これが私の問題です。json配列があります

enter code here{contacts:[{name:xyz,phone:123},{name:abc,phone:123},{name:{},phone:{}}]}

json の最後のオブジェクトが {} を返すという問題が発生します。これにより、テーブルビューが sigbart をスローします。この問題をスキップするにはどうすればよいですか

4

2 に答える 2

0

これはあなたの特定の問題ではないという@MaxGabrielに同意します:)


しかし、質問への答えに:

無効な文字がないかどうかをテストします。

[NSCharacterSet symbolCharacterSet]
rangeOfCharacterFromSet == YES if the array contains a char from the set

それらをすべてrmするには:

id s = @"$bla++$bleb+$blub-$b";
NSCharacterSet *ch = [NSCharacterSet symbolCharacterSet]
s = [[s componentsSeparatedByCharactersInSet:ch] componentsJoinedByString:@""];
NSLog(@"%@ - %@",ch, s);
于 2012-11-10T20:12:34.143 に答える
-1

問題は、文字が無効であることではありません。{} は、JSON の空の辞書です。ディクショナリが空の場合を確認し、それをテーブルビュー コントローラーに渡さないでください。

于 2012-11-10T16:56:05.680 に答える