Как передать значения с одной страницы на другую страницу и отобразить значения в текстовой метке страницы в ячейке iPhone? - PullRequest
0 голосов
/ 09 мая 2011

У меня есть приложение, в котором, когда я нажимаю на элемент таблицы, открывается новая страница, которая позволяет мне вводить детали в текстовое поле и текстовое представление, и, нажимая кнопку отправки, она должна перейти к предыдущей странице, которая является табличным представлением изаполните текстовую метку ячейки табличного представления значением, которое вводится в текстовое поле и текстовое представление.

Как это возможно?Как можно заполнить ячейку табличного представления значениями, введенными в текстовое поле и текстовое представление?

Ответы [ 4 ]

0 голосов
/ 09 мая 2011

Этого можно достичь двумя способами.

Во-первых, вы можете иметь 2 свойства NSString в другом ViewController.1 метод для назначения данных в этом.как

  • @ свойство (неатомное, сохранение) NSString * textfieldValue;и синтезируйте его.
  • @ свойство (неатомное, сохраняемое) NSString * textviewValue;и синтезируйте его.
-(void) contentToDisplay: (NSString *)pTxtFieldValue txtViewValue(NSString*)pTxtViewValue{
    self.textfieldValue = pTxtFieldValue;
    self.textviewValue = pTxtViewValue;
}

При переключении на другой ViewController путем отправки используйте его объект для назначения текста, например

  • [objViewController contentToDisplay: @"textfieldvalue" txtViewValue: @ "textviewValue"];

Надеюсь, это поможет.

0 голосов
/ 09 мая 2011

Вам необходимо использовать следующую функцию делегата:

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

objInf.nameLable =[NSString stringWithFormat:@"Hello %@ Have a Good Day :)",[listData objectAtIndex:indexPath.row]];
NSLog(@"Next View Value =%@",[listData objectAtIndex:indexPath.row]);
NSLog(@"Next View Value =%@",objInf.nameLable);
[self presentModalViewController:objInf animated:YES];
}

As objInf - это объект второго класса, а nameLable - это NSString, которую вы можете установить как текст меткивашего второго класса, где вы хотите отобразить данные ..

0 голосов
/ 09 мая 2011

Используя свойство вы можете сделать это. строковые свойства строк текстового поля на входной странице, тогда просто создав объект этой страницы, вы сможете получить доступ к этим свойствам.

помните, что вам нужен одиночный объект, если вы создаете новый объект, то он повторно активирует свойства.

, поэтому используйте это для создания объекта этого входного класса.

YourClass *obj= (YourClass *)[self.navigationController.viewControllers objectAtIndex: [self.navigationController.viewControllers count]-2];

это дает объект из стека навигации.

0 голосов
/ 09 мая 2011

Все зависит от того, как данные хранятся в вашем TableView. Например, если у вас есть plist-файл, вы должны переписать этот файл при отправке нового значения.

После этого на:

- (void)viewWillAppear:(BOOL)animated {}

Вы должны перезагрузить файл plist и вызвать [self.tableView reloadData];

Однако есть и другой метод. Если у вас мало значений, вы можете использовать NSUserDefault Class Reference для хранения данных в вашем приложении.

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