Я вообще в натуре не втыкаю, чё за хрень!
Решил я, значит, написать на Айподе на Питоне аппликуху с графическим интерфейсом, которая бы скачивала за меня аниме с моего домашнего сервера по защищённому каналу. Скачивание-то я в итоге сделал, а вот с несколькими фишками интерфейса полнейший бред творится. А самое плохое то, что, разумеется, Гугл выдаёт исключительно одинаковые советы, которым я и так следую, и нихрена полезного. Хотя нет, одну из моих непоняток он всё-таки решил (хотя и сопротивлялся этому), но оставшихся-то больше!
Что и как должно работать согласно документации и форумам/вопросникам:
- -[UITableView reloadRowsAtIndexPaths:withRowAnimation:] должен выкидывать нафиг имеющуюся клетку таблицы по переданному пути и заново получать её от источника данных, для этого вызывая -[id tableView:cellForRowAtIndexPath:].
- Клетки таблиц со стилями, отличными от UITableViewCellStyleDefault, должны отображать (по-разному в зависимости от стиля, но хоть как-нибудь!) текст, содержащийся в их свойстве detailTextLabel. Причём клетки со стилем UITableViewCellStyleValue2 должны отображать textLabel в небольшой части слева клетки синим цветом с выравниванием по правому краю этой небольшой части слева клетки, а остальное пространство должен занимать как раз detailTextLabel.
Что и как работает на самом деле:
- -[UITableView reloadRowsAtIndexPaths:withRowAnimation:] нифига не делает. Вообще. Клетка не перерисовывается, метод не вызывается. Кажется, -[UITableView reloadData] работает, но и то в одном (редком) месте то ли он не работает, то ли я допустил пока что ненайденный баг.
- detailTextLabel вообще не отображается. Никогда. (FYI: если оставить стиль по умолчанию, то при попытке выставить ему текст прога вылетает, так как в Питоне, в отличие от Objective-C, нельзя безнаказанно обращаться к None/nil.) Но мало того: клетки со стилем UITableViewCellStyleValue2 отображают свой textLabel синим цветом с выравниванием по правому краю справа всей клетки!