Objective c 目标C中实例变量的作用域
这个问题听起来可能很幼稚,但这真的让我很困扰。 我试图通过从另一个视图控制器调用ViewController的实例方法来设置实例变量。基本上步骤如下Objective c 目标C中实例变量的作用域,objective-c,ios4,Objective C,Ios4,这个问题听起来可能很幼稚,但这真的让我很困扰。 我试图通过从另一个视图控制器调用ViewController的实例方法来设置实例变量。基本上步骤如下 我在ViewController1中 初始化了ViewController2的对象 调用实例变量,为ViewController2的实例变量设置一些值 最后调用presentModalViewController来加载视图控制器 使用viewwillappease方法中的变量,但应用程序崩溃,调试时显示BAD_EXEC 我尝试过在实例中打印相同的方
提前谢谢 您很可能遇到内存管理错误,如果没有代码,我只能建议您确保熟悉Cocoa的内存管理系统:
如果要创建实例变量的属性并合成getter和setter,则应该能够使用点表示法设置实例变量:
viewController2.variable = foo;
或者使用setter方法:
[viewController2 setVariable:foo];
您不应该试图直接访问实例变量。默认情况下,作用域设置为受保护,这意味着您只能通过类、其子类和类别扩展中的方法访问它。非常感谢我阅读了文档,犯了一个错误,在实例方法中初始化时没有保留对象