Я пытаюсь получить доступ к NSMutableArray, который является членом данных моего класса AppDelegate. Он синтезируется в реализации и представляет собой массив пользовательского класса, который имеет член данных «имя» NSString.Каков правильный способ доступа к локальным переменным в делегате?
настоящее время я использую его, чтобы заполнить таблицу View (подвид), как это:
cell.textLabel.text = [[[delegate contentArray] objectAtIndex:indexPath.row] name];
Это работает, но я получаю предупреждение:
warning: no '-contentArray' method found
Он не будет компилировать как:
cell.textLabel.text = [[delegate.contentArray objectAtIndex:indexPath.row] name];
я получаю это в этом случае:
error: request for member 'contentArray' in something not a structure or union
Каков правильный способ доступа к массиву в делегате?
Обновление: Чтобы объявить delegate
, в заголовочном файле контроллер вида таблицы, я включаю @class MainAppDelegate;
и в @interface
Заявляет элемент MainAppDelegate *delegate;
данных. В контроллере табличного представления @implementation
я делаю @synthesize delegate;
.
Что такое 'делегат'? Как это объявлено? – Chuck
Я обновил сообщение. I @synthesize делегат из класса контроллера представления, где он определяется с использованием основного типа класса AppDelegate. –
Локальная переменная находится только в области видимости в методе, а классы не имеют «членов данных». Я считаю, что вы думаете об переменной экземпляра, которую вы открыли через свойство. –