【发布时间】:2012-09-14 03:39:29
【问题描述】:
我最近开始使用很棒的 UICollectionView API,取得了合理的进展,但几乎整天都被困在一个问题上,希望有人能帮助我:
我需要为某些单元格的属性添加一些自定义细节。 为了做到这一点,正确的方法似乎是继承 UICollectionViewLayoutAttributes 并将我需要的属性添加到我的子类中。到目前为止一切都很好,除了当我返回我的 LayoutAttributesSubclass 时,我总是得到以下错误,不知何故晦涩:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** setObjectForKey: key cannot be nil'
在尝试跟踪此问题一段时间后,我的印象是该错误与代表元素种类有关,并且代表元素类别在我的子类实例中为 nil。但是这些属性是只读的,所以我不能设置它们。 我设法通过作弊以某种方式绕过错误,获取常规 UICollectionViewAttributes 实例,然后使用 object_setClass 将其更改为 LayoutAttributesSubclass,但这会引发大量其他问题,而且对我来说似乎相当阴暗。
简而言之,有谁知道上面的错误是什么意思,以及如何正确创建/使用 UICollectionViewLayoutAttributes 子类?
【问题讨论】:
标签: ios ios6 uicollectionview