-[UITableView setStyle:] в iOS 6 приводит к сбою приложения (но не в iOS 5.1)

По некоторым причинам у нас бывают ситуации, когда нам нужно установить свойства с NSDictionary на UIView.
Все было ОК, пока не вышла iOS 6. Теперь -[UITableView setValue:value forKey:@"style"] крашит приложение. В iOS 6 он вызывает setValue:forUndefinedKey:, а в iOS 5.1 нет (и тогда все в порядке). Я знаю, что свойство style UITableView доступно только для чтения, но... почему? У меня есть своя реализация setValue:forUndefinedKey:, но я не хочу как-то фильтровать такие свойства (это будет сложно).


person efpies    schedule 20.09.2012    source источник


Ответы (1)


Я знаю, что свойство стиля UITableView доступно только для чтения, но... почему?

Потому что Apple так решила, и у них, вероятно, есть на это довольно веская причина. Не пытайтесь устанавливать свойства только для чтения, они приведут к сбою вашего приложения.

person Community    schedule 20.09.2012
comment
Вероятно, он доступен только для чтения, потому что стиль определяет большую часть макета и настройки представления... что сложно сделать несколько раз для каждой ячейки. - person kevboh; 20.09.2012
comment
@ H2CO3 Все в порядке, но я только что прочитал список изменений, и информации об этой функции нет. И про фоны сгруппированных таблиц тоже. Есть ли где-нибудь полный список изменений? Я даже не знаю, что я найду в следующий раз. - person efpies; 20.09.2012
comment
@efpies дело в том, что Apple не обязана указывать это изменение. Это свойство всегда было только для чтения, и кажется, что это была просто частная функция, которую можно было установить с помощью KVC. - person ; 20.09.2012