gpt4 book ai didi

objective-c - iOS:一个 View 能否看到在另一个 View 中创建的对象

转载 作者:行者123 更新时间:2023-11-28 20:32:05 31 4
gpt4 key购买 nike

大家好,

我一直在阅读有关在 Controller 之间传递数据的协议(protocol)和委托(delegate)。

假设 ViewControllerA 在一个对象上创建了一个实例:

myObject = [[anObject alloc]init];
[myObject setProperty: value];

ViewControllerB 如何访问 myObject 的属性? ViewControllerB 如何知道 ViewControllerA 创建的对象?

谢谢,

最佳答案

如果 B 在 A 之后(即它们是分层的),您可以将对象传递给 B(在创建它之后或在 prepareForSegue 中:

bController.objectProperty = myObject;

如果两者同时对用户有效(比如通过标签栏),您可以使用通知。这与委托(delegate)的不同之处在于,这种关系更为松散——发送对象不必了解接收对象的任何信息。

// in A
[[NSNotificationCenter defaultCenter]
postNotificationName:ObjectChangedNOtificationName
object:self
userInfo:dictionaryWithObject];
// in B
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(objectChanged:)
name:ObjectChangedNOtificationName
object:nil];

关于objective-c - iOS:一个 View 能否看到在另一个 View 中创建的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11812635/

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