gpt4 book ai didi

objective-c - 设置属性值不粘/viewDidLoad 在 Xcode 4.3 中被多次调用

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:50:38 27 4
gpt4 key购买 nike

所以这很奇怪。

我有一个属性(property):

@property (weak, nonatomic) Something *something; // .h
@synthesize something=_something // .m

出于某种原因,设置该属性不会保持 _something 设置。

我什至写了一个 setter:

- (void)setSomething:(Something *)something {
_something = something;
}

传递的 something 是对象的有效实例。但是,在单步执行 _something = something 行之后,_something 为 nil 并且 something 仍然是一个有效对象。

这让我很抓狂,因为我觉得一切都很好。同样的事情我已经写过一千遍了。唯一的新内容是它在 Xcode 4.3 中。

如有任何帮助,我们将不胜感激。谢谢!

ETA:所以,也许这是一个暗示? viewDidLoad 被调用了很多次,每批 4 次。我使用的是 Storyboard ,因此 View 会自动正确设置。也许 View Controller 没有正确加载或初始化或其他什么?我已经设置好类(class),一切看起来都应该正常工作,但事实并非如此。

最佳答案

好的,我明白了。我不确定这个方法来自哪里,但这是在 SomethingViewControler 代码中:

- (void)loadView {
// If you create your views manually, you MUST override this method and use it to create your views.
// If you use Interface Builder to create your views, then you must NOT override this method.
}

因为我使用的是 Storyboard,所以这种方法的存在导致了各种各样的问题。我很尴尬,因为我可能不假思索地从某个地方复制并粘贴了它。

无论如何,我希望这对某人有所帮助。它只会扼杀我一天的大部分时间。

关于objective-c - 设置属性值不粘/viewDidLoad 在 Xcode 4.3 中被多次调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9353831/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com