3
|
Raj Pawan Gumdal · 技术社区 · 14 年前 |
1
3
你最有可能凌驾于
|
2
1
有同样的问题。TTphotosource需要将modelDidFinishLoad:发送到其代理,当它完成加载后…否则,ttphotoviewcontroller假定它还没有准备好。 然而,这并不是全部。尤其是当加载本地图像时,您的照片源可能会在ttphotoviewcontroller注册为代理之前完成加载。因此,您需要检查添加到TTphotosource中的代理,并向它们发送modeldidFinishLoad:message(如果添加完成加载)。 如果从ttmodel继承,那么说起来容易做起来难,因为没有办法用nsmutableArray注册来查明它何时发生了变化。 所以…将以下代码添加到TTphotoviewController子类中…
这将创建一个名为SuperDelegates的“虚拟”属性,它只是一个NSarray,而不是一个NSmutableArray。insertObject:insuperdelegatesatindex:和removeobjectfromsuperdelegatesatindex:方法,因为它们的名称包括“superdelegates”属性的名称,所以允许键值编码函数(因为它是非正式协议而自动具有)mutablerrayvalueforkey:合成符合nsmutablerray的代理对象,它允许通过将突变操作转换为对insertObject:insuperdelegatesatindex:和removeobjectfromsuperdelegatesatindex:方法的调用来编辑超级委托属性。 然后,您所要做的就是重写“delegates”方法以返回这样一个生成的代理,poof,所有数组更改都会在您身上运行,允许您在ttphotoviewcontroller连接自身时发送适当的加载通知。 |
3
0
经过一些调试,我发现了问题,这只是一个快速的解决方法: 在Three20UI项目的TTModelViewController类中,找到方法
并评论if条件:
最终
这是一个快速解决方案,必须对bool进行调查:
|