Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何将NSDictionary中的对象添加到UIActionSheet UIButton列表的NSArray中_Ios_Objective C_Nsarray_Nsdictionary_Uiactionsheet - Fatal编程技术网

Ios 如何将NSDictionary中的对象添加到UIActionSheet UIButton列表的NSArray中

Ios 如何将NSDictionary中的对象添加到UIActionSheet UIButton列表的NSArray中,ios,objective-c,nsarray,nsdictionary,uiactionsheet,Ios,Objective C,Nsarray,Nsdictionary,Uiactionsheet,我的字典 myDictionary = [[publicDataCityArray valueForKey:@"data"] valueForKey:@"name"]; NSLog(@"myDictionary is %@ myDictionary count is %i", myDictionary, [myDictionary count]); NSLog输出: myDictionary is ( Roma, Milano, Rimini,

我的字典

    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];

}
-(void)someMethod{
NSError*requestError=nil;
NSString*savedValue=[[NSUserDefaults standardUserDefaults]stringForKey:@“令牌”];
NSString*stringWithToken=[NSString stringWithFormat:@“%@&token=%@”,kCityURL,savedValue];
NSURLRequest*request=[NSURLRequest requestWithURL:[NSURL URLWithString:stringWithToken]];
NSData*响应=[NSURLConnection sendSynchronousRequest:request ReturnInResponse:nil错误:&requestError];
N错误*jsonParsingError=nil;
如果(请求错误){
NSLog(@“同步.请求失败,错误:%@”,requestError);
}
否则{
//处理数据
NSArray*publicDataCityArray=[NSJSONSerialization JSONObjectWithData:响应选项:0错误:&jsonParsingError];
myDictionary=[[publicDataCityArray valueForKey:@“数据”]valueForKey:@“名称”];
NSLog(@“myDictionary是%@myDictionary计数是%i”,myDictionary,[myDictionary计数]);
用于(publicCityDataArray中的NSDictionary*publicCityDataDict){
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=@“选择一个城市”;
actionSheet.delegate=self;

对于(int i=0;i您是否尝试过将
myDictionary
作为数组

试试这个

 for(int i=0;i<[myDictionary count];i++)
    {
        [actionSheet addButtonWithTitle:[arrayCitiesActionSheet objectAtIndex:i]];
    }

for(int i=0;i您是否尝试过将
myDictionary
作为数组

试试这个

 for(int i=0;i<[myDictionary count];i++)
    {
        [actionSheet addButtonWithTitle:[arrayCitiesActionSheet objectAtIndex:i]];
    }

用于(int i=0;iSo什么东西不起作用?-顺便说一句,
myDictionary
在我看来像是一个NSArray,而不是NSDictionary。我正要说完全相同的Martin。Diction记录的是键值对而不是值。请检查您的data@MartinR你说得对!谢谢什么东西不管用?-顺便说一句,
myDictionary
对我来说就像是一个垃圾堆,不是NSDictionary。我正要说完全相同的Martin。Diction记录的是键值对而不是值。请检查您的data@MartinR你说得对!谢谢