Xcode изчистване на променлив масив в друг клас

В Xcode v6.4 имам приложение за калкулатор с класове Calculator и Brain. В Brain има променлив масив, наречен operandStack. Бих искал да изчистя съдържанието на operandStack от класа Calculator. Възможно ли е това и ако да, как се прави? Опитах (получих грешки на компилатора):

[self.brain operandStack removeAllObjects];

и

[self.brain.operandStack removeAllObjects];

В Brain декларирах свойството @property (nonatomic, strong) NSMutableArray * operandStack; синтезиран @synthesize operandStack = _operandStack; Все още получавате същите грешки на компилатора за [self.brain.operandStack removeAllObjects] в класа Calculator.


person Cheesehead1957    schedule 26.08.2015    source източник
comment
Каква грешка на компилатора получавате?   -  person Glorfindel    schedule 26.08.2015


Отговори (1)


[self.brain.operandStack removeAllObjects];

ще работи, но само ако декларирате operandStack като свойство в Brain.h:

@property (nonatomic, strong) NSMutableArray *operandStack;

(и включете синтезатора в Brain.m):

@synthesize operandStack;

Подозирам, че operandStack в момента е локална или инстанционна променлива в Brain.

person Glorfindel    schedule 26.08.2015
comment
Моля, публикувайте кода си във въпроса - той ще бъде нечетлив в коментарите. Освен това, моля, публикувайте и грешките на компилатора. - person Glorfindel; 26.08.2015
comment
@Cheesehead1957 Имайте предвид, че свойството brain в рамките на self трябва да бъде същото копие на Brain, което съдържа масива, в който сте записали данни. Не може да бъде нов екземпляр, така че ще трябва да предадете на текущия клас препратка към този обект. - person Cole; 26.08.2015