ios - 在不调用 ViewDidLoad 的情况下从另一个类访问方法或属性?

标签 ios class methods properties

通常,我会像这样调用另一个类方法: MyClass *class = [[MyClass alloc] init]; [类我的方法];

但问题是,它会调用 ViewDidLoad。这对我来说是个问题。

有没有办法在不调用 ViewDidLoad 的情况下访问另一个方法中的属性或调用另一个方法中的类?

谢谢!

Edit1:那么你是说如果我这样做它就不会调用我的 VDL?:

MyClassB *classB = [[[MyClassB alloc] init] autorelease];
[classB.pauseButton setHidden:NO];

另外,当我调用一个会触发 ViewDidLoad 的方法时怎么样?

最佳答案

当然;重构 myMethod调用 viewDidLoad

也就是说,如果你调用方法a并且方法a调用了b,但是你不想调用b ,那么就需要修改a的实现,使其有时不调用b。通过修改 a 或在包含不调用 ba 的类上创建新方法 c

如果问题是你在系统框架中调用了一个方法,而它在你不想要的时候调用了 viewDidLoad,那么答案是你真的不能按照你的想法去做你想做什么。但这只是一个症状;真正的答案是您的应用架构需要重新审视以更好地适应系统框架。


Edit1: So are you are saying that if I do this it will not call my VDL?:

MyClassB *classB = [[[MyClassB alloc] init] autorelease];

那是创建一个新的 MyClassB 实例。如果屏幕上已经显示了一个实例,那么您很可能不需要新实例,是的,这就是调用 viewDidLoad 的原因。

要么创建一个可以指向 classB 的现有实例的实例变量,要么以其他方式获取该实例;把它卡在应用程序委托(delegate)或其他东西上。

总的来说,听起来您对实例化一个对象的含义与简单地引用一个对象的含义以及所有这些如何适应应用程序创建的 UIKit 模型感到困惑。在你掌握它之前,这有点棘手。研究展示如何使用 View Controller 的许多示例中的一些示例,因为它们可能已经解决了类似的问题。

关于ios - 在不调用 ViewDidLoad 的情况下从另一个类访问方法或属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8205429/

相关文章:

ios - 使用 Swift 处理触控板事件

ios - 无法保存到 DynamoDB 表 (iOS)

ios - 如何从父 iphone 应用程序触发 watchkit 应用程序?

c# - 对象到 URL 字符串

sqlite - Android 中存在数据库问题的应用程序类

ios - 如何使我的 iOS 演示应用程序尽可能地防崩溃?

php - 嵌套集添加点头得到错误

java - 编译错误 : Missing return statement

c#:从对象 [] 数组调用存储对类对象的引用的通用方法

java - 需要重构帮助 - 具有多个参数的方法