0
私は、データベースからテーブルの内容を返すmySQLデータベースとPHPスクリプトを持っています。私はこのデータを文字列として配列に格納できますが、カスタムNSObjectクラスにどのように格納するかについてはあまりよく分かりません。私はこれを行うことができる方法はありますか?カスタムクラスのサーバーからの応答を保存するSBJsonParser
私は、データベースからテーブルの内容を返すmySQLデータベースとPHPスクリプトを持っています。私はこのデータを文字列として配列に格納できますが、カスタムNSObjectクラスにどのように格納するかについてはあまりよく分かりません。私はこれを行うことができる方法はありますか?カスタムクラスのサーバーからの応答を保存するSBJsonParser
文字列がJSONオブジェクトの配列である場合、SBJsonParserメソッドobjectWithString:
を使用して、NSDictionaryオブジェクトのNSArrayを返すことができます。次に、配列をループして、配列内の各要素からカスタムオブジェクトを作成することができます。各値を抽出するには、NSDictionaryメソッドobjectForKey:
を使用します。
SBJsonParser *json = [[SBJsonParser new] autorelease];
NSError *jsonError = nil;
NSArray *parsedJSON = [json objectWithString:response error:&jsonError];
// this example just creates a custom object from the first element in the array
NSDictionary dictionary = [parsedJSON objectAtIndex:0]
CustomObject *myCustomObject = [[CustomObject alloc] init];
myCustomObject.firstname = [dictionary objectForKey:@"firstname"];
myCustomObject.lastname = [dictionary objectForKey:@"lastname"];
ありがとう、それはとても簡単です!だから、テーブルをループするには、コードをforループに置き、0をiに変更するだけです。 –
うん、それは正しいです。 – jonkroll
ありがとうございます。私はテーブルの最初の行のためだけにそれをしようとしているが、私は問題を抱えている。 'NSLog(@" EVENT NAME:%@ "、[dictionary objectForKey:@" eventName "]);'を実行しているとき、私は戻ってくる(null)。私は非同期的に要求を取得しているので、データを取得する時間がなかった可能性があります。これをSynchronousに変更すると、アプリケーションは '[__NSCFDictionary objectAtIndex:]:インスタンス0x6b1f8b0 'に送られた認識できないセレクタでクラッシュします。何か案は? –