【发布时间】:2011-11-05 18:35:40
【问题描述】:
我可以知道如何将一个 BOOL 变量从一个类共享到另一个类吗?
这就是我想要做的。我在 SecondVC 设置 FirstVC 的 BOOL 变量。当我尝试更改 BOOL 值时应用程序崩溃时,我在这里做错了什么。没有错误日志。
FirstVC.h
@interface FirstVC : UIViewController <UITextFieldDelegate>{
BOOL pickUpAddressIsSet;
}
@property (nonatomic) BOOL pickUpAddressIsSet;
@end
FirstVC.m
@synthesize pickUpAddressIsSet;
secondVC.m
NSArray *viewControllers = [self.navigationController viewControllers];
FirstVC *firstVC = (FirstVC *)[viewControllers objectAtIndex:viewControllers.count - 2];
firstVC.pickUpAddressIsSet = YES; // tried TRUE & 1
【问题讨论】:
-
您确定您的导航堆栈中至少有两个元素吗?您可能在数组中索引超出范围
-
@Perception 是的。我可以使用 firstVC 对象设置我的 NSString 变量之一。 SecondVC 被直接推到作为 rootVC 的 FirstVC 之上。
-
请从您的 .h 文件中发布您的 pickUpAddressIsSet ivar 和属性的确切声明。
-
@Perception 编辑了我的问题。
-
您的代码对我来说看起来不错。尝试执行 firstVC.pickupAddressIsSet = TRUE 并报告错误(如果有)
标签: objective-c boolean