从另一个类设置BOOL属性

时间:2011-08-29 04:56:58

标签: objective-c boolean

我是否知道如何将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

4 个答案:

答案 0 :(得分:0)

试试这个:

@property(nonatomic, assign, getter= isPickUpAddressIsSet) BOOL pickUpAddressIsSet;

它对我有用

答案 1 :(得分:0)

似乎firstVC实例实际上不是类型(类)FirstVC,这可以解释错误。

尝试以下方法:

NSArray *viewControllers = [self.navigationController viewControllers];
id firstVC = [viewControllers objectAtIndex:viewControllers.count - 2];
NSLog(@"%@", [firstVC class]);

您在NSLog输出中看到了什么类?

答案 2 :(得分:0)

firstVC.pickUpAddressIsSet: = YES;

应该是

firstVC.pickUpAddressIsSet = YES;

结肠不应该在那里。

答案 3 :(得分:0)

我发现这是因为我试图将BOOL变量作为字符串在代码的其他部分进行NSlog。