Я относительно новый в Objective C, я разработал приложение сервер-клиент и закодировал как на стороне сервера, так и на стороне клиента.Я получаю объекты JSON после отправки GET на сервер, и мне нужно, чтобы заголовки, которые поступают через массив JSON (словарь), задавались как заголовки кнопок в представлении моего приложения.Я также хочу создавать кнопки динамически, я имею в виду, если я сбросил некоторые кнопки, изменения должны прийти в мое приложение снова.Пожалуйста, кто-нибудь может мне помочь:
- Как создать массив UIButton и установить его заголовок с содержимым словаря JSON?
Как динамически размещать кнопки в представлении,Я тоже могу поделиться кодом, если хотите ..
button = 1;ключ = 181abc88e57c37a42769;сообщение = ({ID = 1; дата = "2011-12-10 16:00:00"; сообщение = asdf; статус = 1; "user_id" = 2;});"неправильный_пользователь" = 0;
Это результат для первого получения, и после определения его фарвибелей я получаю следующие данные JSON:
Response of Result2: (
{
ID = 1;
name = Ambulance;
},
{
ID = 2;
name = Police;
},
{
ID = 3;
name = "Somethings";
},
{
ID = 4;
name = Something Else;
}
)
мне нужно создать несколько кнопок в моем представлении и установить их названия с именами в этих данных JSON.Весь мой код GET ниже, мои имена переменных могут быть не очень понятными, извините за это. Кстати, я считаю, сколько идентификаторов приходит для массива кнопок, и я буду использовать его при создании кнопок, чтобы установитькнопки включены-отключены и т. д. Еще раз спасибо
//## GET code to here**
NSString *str1=[@"?username=" stringByAppendingString:userNameField.text];
NSString *str2=[@"&password=" stringByAppendingString:passwordField.text];
NSString *str3=[str1 stringByAppendingString:str2];
NSString *str4 =[@"http://" stringByAppendingString:serverField.text];
NSURL *url=[NSURL URLWithString:[str4 stringByAppendingString:[@"/ipad/login.php" stringByAppendingString:str3]]];
NSLog(@"%@\n",url);
//get the url to jsondata
NSData *jSonData=[NSData dataWithContentsOfURL:url];
if (jSonData!=nil) {
NSError *error=nil;
id result=[NSJSONSerialization JSONObjectWithData:jSonData options:
NSJSONReadingMutableContainers error:&error];
if (error==nil) {
NSDictionary *mess=[result objectForKey:@"message"];
NSDictionary *messContent=[mess valueForKeyPath:@"message"];
NSDictionary *messDate=[mess valueForKeyPath:@"date"];
NSDictionary *messID=[mess valueForKeyPath:@"ID"];
NSLog(@"%@ *** Message %@ \n Message Content: %@ \n Mesage ID: %@ \n Message Date: %@", result, mess, messContent, messID,messDate);
NSString*key1=[ result objectForKey:@"key" ];
NSString *s1=[@"http://" stringByAppendingString:serverField.text];
NSString *s2=[s1 stringByAppendingString:@"/ipad/button.php"];
NSURL *url2=[NSURL URLWithString:[s2 stringByAppendingString:[@"?key=" stringByAppendingString:key1]]];
NSLog(@"\n%@\n",url2 );
NSData *data2=[NSData dataWithContentsOfURL:url2];
id result2=[NSJSONSerialization JSONObjectWithData:data2 options:NSJSONReadingMutableContainers error:nil];
NSLog(@"\n\n\n******* ************ \n\n *********** ***********\n\nResponse of Result2: %@",result2);
NSArray *idd=[result2 valueForKeyPath:@"ID"];
NSString *iddName=[result2 valueForKeyPath:@"name"];
NSLog(@"-- %@ -- %@ -- \n The Count Of Buttons: %d", idd, iddName, [idd count]);
id sender;
[self performSegueWithIdentifier:@"sg1" sender:sender];
}
}
Я все еще не смог получить результат.У него проблема с [view addSubview:button]
, я объявил его как UIViewController *view;
и подготовил его свойство, но на этот раз не принимает свойства с UIViewContrpller
.Пожалуйста, кто-нибудь может дать какую-то идею, я тоже погуглил результаты, но ничего не смог понять.Оба представления принадлежат одному и тому же классу, одно представление для учетной записи пользователя, а другое для панели приложения (я имею в виду, где я хочу разместить кнопки)