iPhoneアプリケーションを作成していて、サーバーから情報をロードしています。 NSURLRequestをサーバーに送信し、NSString値を取得します。これは正常に動作しており、私が元に戻す価値は正しいものです。問題は、値を格納するためにNSMutableDictionaryに変数の値を追加しようとすると、機能しないということです。私がデバッグし、XcodeのNSMutableDictionaryの値を見ると、値を追加する行の直後に0のキー/値のペアが表示されます。これは私のコードのようになります:NSMutableDictionaryにオブジェクトを追加する際の問題
NSArray *varsToLoad = [fixedData objectForKey:@"varsToLoad"];
NSError *error;
for(NSString *var in varsToLoad){
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL: someURL]];
[request setHTTPMethod:@"POST"];
NSMutableString *file = [NSMutableString stringWithString:@"file="];
NSString *file1 = [file stringByAppendingString:var];
NSString *file2 = [file1 stringByAppendingString:@".txt"];
[request setHTTPBody:[file2 dataUsingEncoding:NSUTF8StringEncoding]];
NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:&error];
NSString *value = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];
[varsLoaded setObject:value forKey:var];
}
varsLoadedは@implementationで宣言され、NSMutableDictionaryです。
それは私にも起こりましたが、そういう場合には、デバッガでキーと値のペアが0にならない場合はゼロになります。 – jrturton
いいえ、デバッガウィンドウに初期化されていない辞書が0のキーと値のペアとして表示されます。私はそれをテストしました。 – aslisabanci
その場合、あなたはおそらく正しいでしょう! – jrturton