Установить свойство BOOL из другого класса - PullRequest
0 голосов
/ 29 августа 2011

Могу ли я узнать, как передать переменную BOOL из одного класса в другой класс?

Вот что я пытаюсь сделать.Я устанавливаю переменную BOOL FirstVC на SecondVC.Что я делаю здесь не так, когда приложение падает, когда я пытаюсь изменить значение 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 голосов
/ 31 августа 2011

Я обнаружил, что это потому, что я пытаюсь NSlog переменную BOOL в виде строки в других частях кода.

0 голосов
/ 29 августа 2011

Кажется, что экземпляр firstVC на самом деле не относится к типу (классу) FirstVC, что объясняет ошибку.

Попробуйте следующее:

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

Какой класс вы видите в выводе NSLog?

0 голосов
/ 29 августа 2011
firstVC.pickUpAddressIsSet: = YES;

Должно быть

firstVC.pickUpAddressIsSet = YES;

Там не должно быть двоеточия.

0 голосов
/ 29 августа 2011

Попробуйте это:

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

у меня работает

...