[英]From NSArray of NSDictionary objects, how to get an NSArray of uniques
[英]How to add objects from an NSDictionary to an NSArray for a UIActionSheet UIButton list
我的字典
myDictionary = [[publicDataCityArray valueForKey:@"data"] valueForKey:@"name"];
NSLog(@"myDictionary is %@ myDictionary count is %i", myDictionary, [myDictionary count]);
NSLog
輸出:
myDictionary is (
Roma,
Milano,
Rimini,
Venezia,
Firenze,
Napoli,
Cesenatico,
Cervia,
Recco,
"Abano Terme",
"Abbadia Cerreto",
"Abbadia Lariana",
"Abbadia San Salvatore",
Abbasanta,
Abbateggio,
Abbiategrasso,
Abetone,
Abriola,
Acate,
Accadia,
Acceglio,
Accettura,
Acciano,
Accumoli,
Acerenza,
Acerno,
Acerra,
"Aci Bonaccorsi",
"Aci Castello",
"Aci Catena",
"Aci Sant'Antonio",
Acireale,
Acquacanina,
Acquafondata,
Acquaformosa,
Acquafredda,
Acqualagna,
"Acquanegra Cremonese",
"Acquanegra sul Chiese",
Acquapendente
) myDictionary count is 40
我正在嘗試填充UIActionSheet
數組:
-(void) someMethod{
NSError *requestError = nil;
NSString *savedValue = [[NSUserDefaults standardUserDefaults] stringForKey:@"token"];
NSString *stringWithToken = [NSString stringWithFormat:@"%@&token=%@",kCityURL, savedValue];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:stringWithToken]];
NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:&requestError];
NSError *jsonParsingError = nil;
if (requestError) {
NSLog(@"sync. request failed with error: %@", requestError);
}
else {
// handle data
NSArray *publicDataCityArray = [NSJSONSerialization JSONObjectWithData:response options:0 error:&jsonParsingError];
myDictionary = [[publicDataCityArray valueForKey:@"data"] valueForKey:@"name"];
NSLog(@"myDictionary is %@ myDictionary count is %i", myDictionary, [myDictionary count]);
for (NSDictionary *publicCityDataDict in publicCityDataArray) {
arrayCitiesActionSheet = [[NSArray alloc] initWithObjects: myDictionary, @"city5", @"city6", @"city7", @"city8",@"city9", @"city10", @"city11", @"city12", @"city13", @"city14", @"city15", @"city16", nil];
// arrayCitiesActionSheet = [myDictionary allValues];
}
}
UIActionSheet* actionSheet = [[UIActionSheet alloc] init];
actionSheet.title = @"SELECT A CITY";
actionSheet.delegate = self;
for(int i=0;i<[myDictionary count];i++)
{
[actionSheet addButtonWithTitle:[arrayCitiesActionSheet objectAtIndex:i]];
}
actionSheet.cancelButtonIndex = [actionSheet addButtonWithTitle:@"Cancel"];
[actionSheet showInView:[UIApplication sharedApplication].keyWindow];
}
您是否嘗試過將myDictionary
作為數組,
嘗試這個 ,
for(int i=0;i<[myDictionary count];i++)
{
[actionSheet addButtonWithTitle:[arrayCitiesActionSheet objectAtIndex:i]];
}
替換為
for(int i=0;i<[myDictionary count];i++)
{
[actionSheet addButtonWithTitle:[myDictionary objectAtIndex:i]];
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.