簡體   English   中英

如何將對象從NSDictionary添加到UIActionSheet UIButton列表的NSArray

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM