Obj-C Получение ответа сервера для параметра и помещение его в массив - PullRequest
0 голосов
/ 16 апреля 2019

Итак, я отправляю запрос http 'POST' и получаю ответ, используя код ниже ...

static HistoryViewController *sharedInstance;

+(HistoryViewController *) getInstance
{
@synchronized (self) {
    if (sharedInstance == nil) {
        sharedInstance = [[HistoryViewController alloc] init];
        sharedInstance.photo_URL =@"";
        return sharedInstance;
    }else{
        return sharedInstance;
    }
  }
}


- (void)viewDidLoad {
[super viewDidLoad];

NSURLSessionConfiguration *defaultConfigObject = [NSURLSessionConfiguration defaultSessionConfiguration];    
NSURLSession *defaultSession = [NSURLSession sessionWithConfiguration:defaultConfigObject delegate:nil delegateQueue:[NSOperationQueue mainQueue]];    
NSURL *url = [NSURL URLWithString:@"http://www.MyURL/getPhotos.php"];   
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];    
NSString *post = [[NSString alloc] initWithFormat:@"parameter=%@", parameter];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:[post dataUsingEncoding:NSUTF8StringEncoding]];    
NSURLSessionDataTask *dataTask = [defaultSession dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
    NSLog(@"Response:%@ %@\n", response, error);
    if(error == nil)
    {
        NSString *text =[[NSString alloc] initWithData: data encoding: NSUTF8StringEncoding];            
        NSLog(@"Data = %@",text);            
        NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:&error];
        [HistoryViewController getInstance].photo_URL = [jsonDict objectForKey:@"photoURL"];

    }
}];
[dataTask resume];

И мой ответ от сервера выглядит следующим образом ...

"<MyURLResponse><photoURL>photoURLexample</photoURL><created>04/12/2019 at 8:58 am EDT</created></MyURLResponse>"

Это только одна фотография, но когда больше фотографий будет загружено в прицел, они вернут их все.Когда я пытаюсь взять данные из словаря JSON, он возвращается «ноль». Что мне делать, чтобы поместить ответы между <photoURL> в словарь или массив?

1 Ответ

0 голосов
/ 17 апреля 2019

У вас есть 2 варианта.1. Сгенерируйте NSArray, используя API NSString, такой как "componentsSeparatedByString:".Параметр должен быть определен в подстроке между и;2. Используйте NSObject + YYModel.https://github.com/ibireme/YYModel

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...