gpt4 book ai didi

objective-c - iOS Objective-C 访问来自不同类的 ivars

转载 作者:行者123 更新时间:2023-11-29 11:22:33 26 4
gpt4 key购买 nike

访问不同类的 ivar 的首选方法是什么?

应用委托(delegate)类

假设我想从另一个 UIViewController 类中的 Application Delegate 类访问根 Controller (@synthesized 为 rootController)。我在某处读到,您从 Application Delegate 类访问 ivar 与访问其他 ivar 不同。

普通类

如果我想从另一个 UIViewController 类访问一些 ivar。我想在 A 类中访问包含名称列表 (NSArray)(@synthesized 作为名称)的 ivar,并从 B 类访问它们。

ivar 具有默认访问权限( protected )。

也许你可以给我指一个解释如何访问 ivars 的好教程。

最佳答案

应用程序委托(delegate)是一个单例,因此您可以从任何地方访问这些属性。

在“普通”类的情况下,假设您不想使其成为单例,您通常会使用委托(delegate)模式。这意味着 A 类成为 B 类的委托(delegate),B 类可以调用 A 类将实现的方法,这就是 UITableViews 如何与 DataSource 委托(delegate)一起工作。

这仅在您只需要从另一个类访问这些属性时才有效(代理不支持多代理,否则我会将您的数据封装在任何类都可以访问的模型中。

关于objective-c - iOS Objective-C 访问来自不同类的 ivars,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6185614/

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