7

底线是,我一直在开发一个应用程序,似乎如果我将 a UIAlertin 放入viewDidLoad,它会被调用两次(来自 的委托方法UIImagePickerController)。如果我把它放进去viewDidAppear,它会被调用一次。

我查看了文档,但这只是让我感到困惑。

4

1 回答 1

9

UIView 对象可以被加载到内存中并多次释放,而无需添加到视图堆栈并出现在显示器上。

我的猜测是您对此视图有 2 个引用(可能是 nib 文件中的一个?),所以它被加载,然后在加载第二个引用并分配给相同属性时释放,然后只有后者被添加到视图堆。您可以通过在 viewDidLoad 和 viewDidAppear 方法中打印出 (NSLog) self 的整数值 ("%ld",(long int)self) 来看到这一点。

于 2010-08-29T10:13:23.263 回答