Не удается получить IndexPath.ruw из массива (ошибка IndexPath denclared)?

StackOverflow https://stackoverflow.com/questions/4265433

Вопрос

Я объявил 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 в вашем классе?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top