2013-08-10 2 views
0

Я сделал динамический UITableViewCell с UImageView и UILabel. enter image description hereКак создать ячейку Prototype в динамическом UITableView?

Я связала элементы в коде, построить его, и он дал мне эту тревогу:

Couldn't compile connection: <IBCocoaTouchOutletConnection:0x7ff657212ee0 <IBProxyObject: 0x7ff6572e5e30> => nationLabel => <IBUILabel: 0x7ff6572e2bd0>> 

Я никогда не работал с динамическими клетками так, вероятно, это глупая ошибка моя, но я могу понять причина этого. Как я могу это решить? Спасибо!

ответ

0

Похоже, вы пытаетесь установить выходы из вашей ячейки прототипа в контроллер вашего вида. Как упоминалось в комментариях, это не сработает, потому что есть потенциально несколько ячеек, и они не могут быть подключены к одной розетке. Итак, первое, что вам нужно сделать, это удалить эти выходные соединения из раскадровки. После того, как вы это сделали, код должен скомпилироваться. Оттуда у вас есть два варианта (ну, я уверен, что есть и другие способы сделать это, но они являются нормальными):

  1. В раскадровке, набор уникальных значений для tag собственности для каждого элемента , например сделайте изображение 1 и метку 2. В вашем контроллере просмотра в любое время, когда вам нужно получить доступ к элементу, вы можете сделать это, вызвав [self.view viewWithTag:].

  2. Создайте собственный подкласс ячеек UITableViewCell, назначьте его прототипу и создайте выходные точки между прототипом и подклассом.

Похоже, вы пробовали (1) и застряли. Если вы застряли, просто объясните конкретную проблему, с которой вы столкнулись, и кто-то поможет вам в этом разобраться.

+0

Спасибо! Я выбрал первый путь, и я решил в 2 ряда, потрясающе! –

+0

У меня все еще есть одна проблема, что я думаю, что это легко решить, но я не помню, как: контроллер загружает только видимые строки, поэтому, прокручивая, он показывает пробелы, строки и предыдущие строки стали пустыми ... Я написал [tableView dequeueReusableCellWithIdentifier: @ " cell "forIndexPath: indexPath], поэтому должно быть что-то еще ... –

+0

Если вы видите пустые строки, вам нужно проверить, что происходит в' cellForRowAtIndexPath'. Установите точку останова в этом методе или некоторых инструкциях 'NSLog' и ищите a)' dequeueReusableCellWithIdentifier' фактически возвращает ячейку и b) данные, которые вы используете для настройки ячейки, не 'nil'. –

Смежные вопросы