Новая пользовательская ячейка из XIB, вызывающая соответствие значения ключа для ключа ...? - PullRequest
8 голосов
/ 16 ноября 2011

У меня есть пользовательская ячейка табличного представления, которую я создал с помощью XIB:

enter image description here

Я также связал файл XIB с моей пользовательской ячейкой UITableView.

Но теперь, когда я попытаюсь загрузить ячейку в - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath со следующими кодами:

MyCustomTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"];
    if (cell == nil) {
        // Load the top-level objects from the custom cell XIB.
        NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"CustomTableViewCell" owner:cell options:nil];
        // Grab a pointer to the first object (presumably the custom cell, as that's all the XIB should contain).
        cell = [topLevelObjects objectAtIndex:1];
    }

я получу [<NSObject 0x8a5b970> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key hitMeButton.

Я искал в Интернете иодной из возможных причин может быть то, что XIB не связан с IBOutlet, я проверил, так что это не так.

Ответы [ 2 ]

32 голосов
/ 09 марта 2012

Реальная проблема в том, как вы связали розетки. Вы должны связать свои розетки из TableViewCell с метками в вашей ячейке (вы, вероятно, связали метку у владельца файла)

Вот еще несколько объяснительных изображений:

Это нормально enter image description here



Это неправильно enter image description here

0 голосов
/ 16 ноября 2011

Я только что решил проблему, но не уверен, что это самый подходящий способ.

if (cell == nil) {

MyCustomTableViewCell *aCell = [[MyCustomTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"];

 NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"CustomTableViewCell" owner:aCell options:nil];

cell = [topLevelObjects objectAtIndex:0];

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