2012-06-30 1 views
1

Мои данные - это просто номер, я хочу передать его с VC1 на VC2 для следующего расчета, а не для показа на этикетке. Возможно, это не проблема для передачи строки данных с использованием кода ниже. Но я не знаю, как передать число целое число, например a = b x c. Я хочу довести это от VC1 до VC2 для вычисления следующего шага, например a + d = e. Я объявляю, что a, b, c, d, e - int в .h файлеЕсть ли какой-нибудь пример использования передаваемого числа данных между двумя контроллерами представления?

Вот как я использую для передачи строковых данных. Но как это сделать для целого?

ProcessViewController *ProcessData = [[ProcessViewController alloc]initWithNibName:nil bundle:nil];   
self.processViewData = ProcessData; 
processViewData.labelViewString = labelView.text; // pass to VC2 
[self presentModalViewController:ProcessData animated:YES]; 

ответ

1

В файле .h второго контроллера представления необходимо добавить свойство:

@property (nonatomic) int someInt; 

и, очевидно, синтезировать это свойство в файле .m для второго ВК.

затем, как только вы инициализирован ProcessViewController, вы можете установить свойство на него изнутри первого ВК:

processData.someInt = someOtherInt; 
[self presentModalViewController]; 

Edit: Обратите внимание, что вы также можете использовать свойство NSNumber, если вы хотите (не уверен, почему бы вам в этом случае). Если вы это сделали, и вы не используете ARC, вам также потребуется освободить свойство.

+0

wow. спасибо за быструю помощь. оно работает! – SyntaxError

+0

очень рад, что я мог бы помочь. удачи с вашим приложением! Я отредактировал это последнее небольшое предложение. извините, что – bkbeachlabs

+0

Просто пояснение, вам не нужно выпускать собственные типы данных C/C++, только объекты (тот, который вы назначаете). Поэтому вам не нужно выпускать Int (на самом деле вы не можете). – Raspu