0

2を組み合わせようとすると問題が発生しますNSString

NSSringJSONから2つを抽出し、その図は次のとおりです。

thumbList:( "picture1.jpg"、 "picture2.jpg"、 "picture3.jpg" ...)

fullnameList:( "name1"、 "name2"、 "name3" ...)

私の意図は、次のスキームを使用してそれらを1つに統合することです:( "name1"、 "picture1.jpg"、 "name2"、 "picture2.jpg"、 "name3"、 "picture3.jpg" ...)

NSArray *array_webdata=[[NSArray array] init];

NSString *searchStatus = [[NSString alloc] initWithData:webData encoding:NSUTF8StringEncoding];    
array_webdata = [parsedata objectWithString:searchStatus error:nil];

//String with all data of each user
NSString *usersList = [array_webdata valueForKey:@"results"];    
NSLog(@"\n results? = %@ \n", usersList);

//String with thumbs
NSString *thumbList = [usersList valueForKey:@"thumb"];
NSLog(@"\n thumbs? = %@ \n", thumbList);

//String with usernames
NSString *fullnameList = [usersList valueForKey:@"fullname"];
NSLog(@"\n fullnames? = %@ \n", fullnameList);


NSMutableIndexSet *indexes = [NSMutableIndexSet indexSetWithIndex:1];
[indexes addIndex:3];    
[fullnameList insertObjects:thumbList atIndexes:indexes];
NSLog(@"array: %@", fullnameList);

しかし、実行しようとすると、次のエラーメッセージが表示されます:[__ NSArrayI insertObjects:atIndexes:]:認識されないセレクターがインスタンスに送信されました。

誰か助けてもらえますか?

4

2 に答える 2

1

使用する必要があります

 NSMutableDictionary* dataDict =   [NSMutableDictionary dictionaryWithObjects:picturesList   forKeys:namesList];
 // Whenever key needed for fetching record from Dictionary just write       
 NSArray* keyArr = [dataDict AllKey];

これですべてのキーが取得でき、上記のキーを使用してレコードを取得できます。

于 2012-05-04T08:00:37.867 に答える
1

すべて 「インスタンスに送信された認識されないセレクター」。エラーは同じ意味です: オブジェクトにメソッドがあると思いますが、実際には実行時にそれがありません。

Objective-C の動的な性質により、オブジェクトにメソッドがあるかどうかわからない場合は、次のように RespondsToSelector: を呼び出して常にテストする必要があります。

if ([myObj respondsToSelector:@selector(someMethod)]) {
    [myObj someMethod];
} 

この場合、

NSString *fullnameList = [usersList valueForKey:@"fullname"];

NSString です。そのクラスには、insertObjects:atIndexes: メソッドがありません。多分あなたはそれを NSMutableArray として宣言する必要があります

于 2012-05-04T07:49:14.343 に答える