使用cs193p(ian编程的stanford在线视频),我正在进行Presence1练习
我正在尝试动态更改UIView,它是另一个视图的子视图。
对于那些不了解课程发布的作业的人,基本上应用程序的架构如下:
导航控制器 - > (根)视图控制器 - (VC)1用于第一屏幕 - >调用详细信息查看控制器VC2以进行下一屏幕
现在第一个屏幕有我想要从我的模型动态加载的图像和文本(这是我在导航堆栈中推送第一个VC之前在App委托中实例化的对象。我在initWithNibName中定义了一个参数初始化VC1的nib时传递此模型对象的方法。我还尝试在此处以及viewDidLoad和viewDidAppear方法中设置模型中的图像。它不起作用。
当我调试时,我看到传递的模型对象是空的。
如果你明白这个问题,请告诉我我错过了什么。
如果需要,我可以发布代码,但必须发布整个事情才有意义。
答案 0 :(得分:1)
Nailed - 我在不需要时释放我的模型对象 - 我正在为模型中存在的一个对象创建一个“引用”(包含对象列表的数组)。注意 - 我没有使用alloc / copy创建新对象。我当时正在释放它(即使在推送到导航堆栈之后) - 显然导致我的对象内存空间被清除并且反映在我的视图控制器中,它接收该模型对象作为其init方法中的参数。这给人一种错觉,即对象没有传递给视图控制器!
之前的经验教训 - 要非常注意释放物品。
感谢大家不回答这个问题。在某种程度上,它迫使我在非常微观的层面上仔细检查我的代码,我相信在我的余生中我不会忘记这一点! :)