iphone 小注意

由于iphone/ipad的内存都不是很大,当程序过多时,很经常会内存不足。那么程序就会接收个信息receiveMemoryWarning,然后系统就会把一些暂时没用的资源release

在多个view之间传参,特别是view是以栈的形式保存的,就会在receiveMemoryWarning后遇到无法预料的问题

看下面一种情况

在一个navigation stack中先后有三个view, A, B, C,它们之间传递着一个参数,而且每个view都需要那个参数。

假如用户一直push view,直到当前view是view C。这个时候,如果程序receiveMemoryWarning,那么view B,C的数据将会被release。然后,用户再返回view B,那么就会因为 id B是一个空值而产生无法预料的错误。所以,我觉得,在多个view之间传递参数时,一般只在两个view之间传递,不要经过其它中间view。应尽量避免两个以上的view传递同一参数。或者使用delegate

posted @ 2011-10-20 12:21  mew7wo  阅读(283)  评论(0编辑  收藏  举报