Как я могу вызвать NSMutableArray, созданный в другом классе? - PullRequest
0 голосов
/ 21 июля 2011

Я создал один класс XMLParsing.h / m, который загружает URL, анализирует XML в NSStrings и NSNumbers, а затем помещает проанализированные строки в NSMutableArray с именем "showArray".

XML настроен так, что у каждого дочернего элемента есть «id», а затем и другие переменные.Итак, в массиве мы имеем:

NSNumber: (идентификатор из XML) NSString: (заголовок) NSString: (описание) NSString: (место проведения)

В другом классе, ShowDetailViewController.х / м, я хочу загрузить этот массив и его объекты, и, основываясь на ячейке TableView, выбранной в предыдущем представлении, я бы хотел, чтобы элементы в кончике (метки в данном случае) были заполнены "id-конкретные »данные из XML.Так, например:

В моем TableView перечислены названия каждого шоу (из XML).Пользователь нажимает на заголовок, и нажимается другое представление, которое отображает заголовок, описание и место показа, загруженные из проанализированного XML.

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

Я пытался:

В моем ShowDetailViewController.m у меня есть один метод, который содержит:

XMLParsing *xmlClass = [[XMLParsing alloc] init];
NSLog(@"The array contains: %@", xmlClass.showArray);
[xmlClass release];

Однако, результат всегда«Массив содержит: (NULL)» Если я запускаю тот же NSLog внутри самого класса XMLParsing, он напечатает весь массив.Итак, я знаю, что данные просто разбираются на строки и хранятся в массиве.Однако он недоступен вне класса, в котором он создан.

В классе XMLParsing я сделал NSMutableArray * showArray, неатомарное, сохраняемое и синтезируемое свойство.Куда я иду не так?

Заранее спасибо за помощь!

1 Ответ

0 голосов
/ 21 июля 2011

Попробуйте это в вашем классе XMLParsing

-(NSMutableArray *)parseURL  {


self.showarray = [[NSMutableArray alloc]init];

NSString *getURLString = @"url"

NSURL *xmlURL = [NSURL URLWithString:getURLString];

xmlParser = [[NSXMLParser alloc] initWithContentsOfURL:xmlURL];

[xmlParser setDelegate:self];

[xmlParser parse];

return showarray;

}

в вашем классе showviewcontroller

   XMLParsing *xmlClass = [[XMLParsing alloc] init];

        anyArray = [xmlClass parseURL];
...