Не удается получить IndexPath.ruw из массива (ошибка IndexPath denclared)?
-
27-09-2019 - |
Вопрос
Я объявил Nsarray в моем .h
@interface DevicePreferencesController : UITableViewController < UIAlertViewDelegate >{
NSArray *plist;
UITextField *deviceName;
}
Этот массив использует для загрузки данных PLIST из URL
И это пл, я получил
plist:(
{
category = 11;
id = 1;
name = light1;
},
{
category = 11;
id = 5;
name = window;
},
{
category = 12;
id = 2;
name = dimmer2;
},
{
category = 23;
id = 3;
name = win;
}
)
Я покажу это табличкой
и если я выбрал ячейку
Он всплывает AlertView с текстовым полем, он может переименовать данные в Plist
И вот кнопка действий для AlertView
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
if ([alertView tag]==1) {
if (buttonIndex == 1){
[request setPostValue:[[self.plist objectAtIndex:indexPath.row] valueForKey:@"id"] forKey:@"id"];
[request setPostValue:deviceName.text forKey:@"name"];
[request startSynchronous];
}
}
}
Но я получил ошибку здесь «индекспат» не доказано !
Почему ? Plist - это массив, почему я не могу получить индексацию из массива ???
Решение
«IndexPath» - это не ваша переменная, так что это потому, что это не откровенно. Вы должны хранить индекспунцию в TAXTVIEW DEDSELECTEDROW методом локальной переменной и использовать его в методе делегата AlertView.
Другие советы
IndexPath доступен как часть методов делегата TableView и DataSource. У вас есть переменная с именем INDEXPATH в качестве глобальной переменной или в качестве переменной Memeber в вашем классе?