путь индекса в качестве параметров - PullRequest
0 голосов
/ 25 мая 2011

Я получил таблицу, которая заполнена виртуальными машинами, и у меня есть 2 переменные типа данных NSIndexPath с именем selectedindexpath (строка, на которую нажимает пользователь) и selectedindexpathFortheVMtoTurnOn (так что он знает, какую строку перезагрузить при запуске виртуальной машины);и оба сделаны в .h как @paramters (retain) ..

у меня есть функция, которая включает виртуальные машины, и функция, которая проверяет каждую 1 секунду с помощью NSTimer, если гость наконец-то включен, затем онперезагрузка строки selectedindexpathFortheVMtoTurnOn я делаю то же самое для OFF / REBOOT, но у меня возникла проблема с этим .. я не могу запросить действие для более чем 1 ВМ .. потому что он перезаписывает значение selectedindexpathFortheVMtoTurnOn с последней строкой, которую япослал действие, и таким образом таблица отвечает странным образом, и приложение вылетает ... поэтому я хочу передать значение indexpath.row в качестве параметров с помощью NSTimer функции, которая проверяет каждую 1 секунду, я пробовал несколько вещей, ноНи один из них не работал .. ниже кода того, как я даю параметры

timertocallguest=[NSTimer scheduledTimerWithTimeInterval:1
                            target:self
                          selector:@selector(gettheguestyouaskedforTOTURNON:)
                        userInfo:selectedindexpathFortheVMtoTurnOn
                                             repeats:YES];

и функцию:

-(void)gettheguestyouaskedforTOTURNON:(NSIndexPath *)therow

, и когда я пытаюсь сделать NSLog("%d",therow.row);, он падает...

и с помощью NSLog("%d",therow); я получаю целое значение diffrent выбранного indexpathFortheVMtoTurnOn, который раньше имел ..

что я делаю не так ??

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

заранее.

РЕДАКТИРОВАТЬ:

на этот раз я постараюсь показать это с фотографиями.Сначала я нахожусь в представлении с VM http://imageshack.us/photo/my-images/194/schermafbeelding2011052l.png/, после чего я могу нажать на кнопку со стрелкой, и я могу выбрать, что я хочу сделать.http://imageshack.us/photo/my-images/822/schermafbeelding2011052r.png/ появляется индикатор активности и он останавливается, когда действие выполнено (что связано с NStimer, который проверяет каждую 1 секунду) http://imageshack.us/photo/my-images/828/schermafbeelding2011052y.png/ http://imageshack.us/photo/my-images/811/schermafbeelding2011052t.png/, но когда я пытаюсь выполнить действиена двух или более виртуальных машинах индикатор активности в последней строке, который я выбрал, вращается * х быстрее (зависит от того, насколько мэнни-действия я отправляю .. 2 действия означают, что он вращается в 2 раза быстрее .. (так странно)

..я надеюсь, что этого достаточно для того, чтобы вы поняли, что я имею в виду сейчас =)

1 Ответ

1 голос
/ 25 мая 2011

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

-(void)gettheguestyouaskedforTOTURNON:(NSTimer *)timer {
    NSIndexPath *indexPath = (NSIndexPath*)[timer userInfo];

    NSLog(@"%d", indexPath.row);
}
...