iPhone/iOS中viewDidAppear,viewDidLoad之间的区别?

Sid*_*Koh 6 iphone viewdidload viewdidappear ios

底线是,我一直工作在一个应用程序,它似乎是,如果我把一个UIAlertviewDidLoad,它被称为两次(从的委托方法UIImagePickerController).如果我把它放入viewDidAppear,它会被调用一次.

我查看了文档,但它让我很困惑.

hot*_*aw2 8

UIView对象可以加载到内存中并多次释放,而不会被添加到视图堆栈并显示在显示器上.

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