Нужно использовать массив в другом классе .. ошибка в массиве XYZ необъявлена! - PullRequest
0 голосов
/ 01 февраля 2011

У меня есть класс abcParser , в котором у меня есть массив arrayXYZ . Теперь мне нужно использовать этот массив в viewController .. при этом он выдает ошибку .. arrayXYZ undeclared

Я слаб в наследстве, пожалуйста, помогите! спасибо !!

Ответы [ 2 ]

0 голосов
/ 01 февраля 2011

Вы уже добавили @property и @syntesize в переменную NSArray в abcParser?

0 голосов
/ 01 февраля 2011

Объявите функцию в ABCParser, которая позволяет вам извлекать массив, например:

-(NSArray *)arrayXYZ:(NSString *)anArgument{
    NSArray *array = [NSArray arrayWithObject:anArgument];

    return array;
}

РЕДАКТИРОВАТЬ:

Хорошо, похоже, нам нужен небольшой урокпри создании экземпляра и т. д. *

Теперь эти знаки плюс (+) и минус (-) рядом с именами методов ...

Плюс - это метод класса.Он может использоваться без создания экземпляров, но следует понимать, что переменные не могут быть перенесены при их использовании.

Методы экземпляра требуют, чтобы вы создали экземпляр нового объекта, а затем попросили его выполнить методы.

ABCParser *parser = [[ABCParser alloc] init];

Это создает новый «экземпляр» ABCParser и делает указатель на него с именем«анализатор».Это все хорошо и денди.

Когда мы хотим, чтобы этот новый объект синтаксического анализатора что-то сделал, мы говорим это как обычно:

NSArray *myNewArray = [parser arrayXYZ];

Итак - когда у вас есть экземпляр вашего класса, сделайте это:

ABCParser *parser = [[ABCParser alloc] init];

[parser generateArrayXYZ];
NSArray *array = [parser getArrayXYZ];

Это даст вам объект, с которым вы можете работать.Это займет немного привыкнуть, но вы научитесь.Если вам нужны дальнейшие объяснения, просто напишите:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...