Я получаю JSON из моего MySQL:
NSURL *url = [NSURL URLWithString:kGETUrl];
NSData *data = [NSData dataWithContentsOfURL:url];
...
json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
Лог выглядит так:
2017-08-20 23:01:59.726 APP[5005:328063] JSON: (
{
Message = "Message text 1...";
Name = Lucy;
},
{
Message = "Message text 2...";
Name = Jane;
},
{
Message = "Message text 3...";
Name = Mike;
}
)
Это, кажется, хорошо.
Тогда мое приложение имеет 2 текстовые метки (1. для имени, 2. для сообщения), когда имя в текстовой метке имени (пользователь дает) равно «Имя» (в json), я хотел бы показать «Сообщение «в метке сообщения (конкретное сообщение для имени).
Мой кусок кода:
if ([[json valueForKey:@"Name"] containsObject: nameText.text])
{
getMessage.text = [json valueForKey:@"Message"];
}
Это не работает, это дает мне все сообщения, а не только 1 конкретное сообщение для имени.
Я понял.
[json enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop){
if([[obj objectForKey:@"Name"] isEqual:nameText.text])
{
getMessage.text = [obj objectForKey:@"Message"];
}
}];
Возможно, это кому-нибудь поможет.
Других решений пока нет …