Категория не распознающих ивари - PullRequest
4 голосов
/ 29 января 2012

В моем приложении довольно большой View Controller, и я хочу очистить его, разделив некоторые функции на категории.Я прочитал о том, как реализовать категорию и иметь:

#import "StatsVC.h"

@interface StatsVC (TableViewDelegate)

@end

Как мой .h (категория называется StatsVC + TableViewDelegate).и моя Реализация начинается следующим образом:

@implementation StatsVC (TableViewDelegate)

Несколько раз в категории я получаю доступ к переменным, которые являются iVars исходного класса. Я прочитал, и предположительно это разрешено, но для каждого использования iVar вкатегория Я получаю это сообщение об ошибке:

'Use of undeclared identifier 'iVar'

Кто-нибудь знает, почему это происходит?

Спасибо,

1 Ответ

5 голосов
/ 29 января 2012

Вы определенно можете получить доступ к переменным экземпляра из методов в категории.Категории добавляют методы к классу - во время выполнения нет реальной разницы между методом, объявленным в интерфейсе класса, и методом, объявленным в категории в этом классе.Возможно, вам придется показать больше кода, чтобы получить хороший ответ.Прямо сейчас, мои два главных предположения:

  1. Вы пытаетесь получить доступ к иварам из метода класса, а не из метода экземпляра, то есть одного, начинающегося с + вместо -.

  2. Что-то не так с тем, как вы объявили ивары.

...