iphone SDK: как добавить больше строки после статического URL? - PullRequest
0 голосов
/ 15 ноября 2010

Сначала ... если никто не может ответить на этот вопрос, то все в порядке ...

, потому что я не знаю, как задать этот вопрос в правильном описании

моя программа полученаданные plist из URL и отображать их в виде таблицы iphone

Мои коллеги дают мне два URL для получения данных plist

Так что у меня есть два представления таблицы ( tableview1, tableview2 )

два URL ( URL1, URL2 )

My tableview1 через URL1 получить plist1 и tableview1 содержит 3 содержимого в первых 3 строках

ex. (row0 id1), (row1 id2), (row2 id3)

Когда я выбираю row0,он перейдет к tableview2 и с заголовком id1 на навигационной панели

, пока я могу сделать ...

но при tableview2 , ему нужен URL-адрес вроде: www.URL2.php? Id = 1 => это означает ...

Мне нужно добавить свой просмотр таблицыназвание после URL2

, чтобы получить правильный список, связанный с идентификатором 1

мой вопрос ....... URL2 статичен, как сделать его динамическим, чтобы получить правильный URL-адрес ???

хорошо .....первый раз я думал, что мои коллеги дадут мне данные, такие как массив массивов

Но это не так ... Я никогда не пытаюсь использовать URL как динамический ...

Это код в tableview1 , чтобы я мог получить список с URL

 NSURLRequest *theRequest=[NSURLRequest requestWithURL:appDelegate.URL1//I declare the  URL at appDelegate.m for some reasons...
                                                  cachePolicy:NSURLRequestUseProtocolCachePolicy
                                              timeoutInterval:60.0];
      NSData *returnData = [NSURLConnection sendSynchronousRequest:theRequest
                           returningResponse:nil error:nil]; 
      NSString *listFile = [[NSString alloc] initWithData:returnData encoding:NSASCIIStringEncoding];   
              self.array = [listFile propertyList];//I parse the data from array to tablecview

, и вот как я анализирую заголовок с Tableview1 до Tableview2

- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath {

    TableView2 *tb2 = [[TableView2 alloc]init];
    tb2.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
    tb2.title = [[[array objectAtIndex:indexPath.row] valueForKey:@"name"]description];
    [self.navigationController pushViewController:tb2 animated:YES];   }

Есть идеи?

хорошо ... если кто-то может ответить на это или дать мне направление, я буду очень признателен

Большое спасибо за все ответы и ответы!!!

О ... еще одна вещь, я могу использовать ASIHTTPRequest для публикации данных

, но я не знаю, как получить данныепосле поста ...? (это помощь?)

Ответы [ 3 ]

1 голос
/ 15 ноября 2010

Я не совсем уверен, что вы пытаетесь сказать.

Вы хотите загрузить tableView1 с сайта www.foo.com, а затем, когда пользователь щелкает строку, он указывает на другой URL, такой как www.foo.com/row0.

Самый простой способ достичь этого - создать свойство, заданное в методе selectedRow

Нечто подобное.

Объявите свойство в своем заголовке

@Property (readwrite,copy) NSString* strURL;
1 голос
/ 15 ноября 2010

Если у вас есть строка, которую вы хотите добавить в appDelegate.URL1, объявленный как:

NSString *stringToAppend = @"whatever";

Затем вы можете создать строку, содержащую новый URL:

NSString *newURLAsString = [NSString stringWithFormat:@"%@%@",[appDelegate.URL1 absoluteString],stringToAppend];

И NSURL из этой строки:

NSURL *newURL = [NSURL URLWithString:newURLAsString];

И NSURLRequest от этого:

NSURLRequest *theRequest=[NSURLRequest requestWithURL:newURL
                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                       timeoutInterval:60.0];
0 голосов
/ 16 апреля 2014

Чтобы добавить строку в API

когда вы хотите передать некоторую строку в ваш Api в качестве параметра Например, Я сохраняю lat и long пользователя, а затем передаю эту строку в URL API

NSURL *address1=[NSURL URLWithString:[NSString stringWithFormat:@"http://maps.googleapis.com/maps/api/geocode/json?address=%@&sensor=false",location]];

NSLog(@"your lat and long is::%@",[NSString stringWithFormat:@"http://api.wunderground.com/api/90caafb557ba6bf7/geolookup/conditions/forecast/q/%@.json",location]);

Здесь Location - это строка NSS, которая хранит широту и долготу, и я передаю эти данные в API для получения City, Country, tempetature и т.д ..

с помощью% @ мы можем передать сохраненное значение в api

...