Почему мне не нужен ивар для этого свойства Core Data? - PullRequest
1 голос
/ 27 июля 2011

Что здесь происходит с исходным кодом, поэтому мне не нужно объявлять managedObjectContext как ивар ??Где существует __managedObjectContext?Что с префиксом двойного подчеркивания?

Заголовок

@interface CAHistoryController : NSObject {}

@property (nonatomic, retain, readonly) NSManagedObjectContext *managedObjectContext;

@end

Реализация

@implementation EBHistoryController

@synthesize managedObjectContext=__managedObjectContext;
- (NSManagedObjectContext *)managedObjectContext
{
  if (__managedObjectContext != nil)
  {
    return __managedObjectContext;
  }
  // ...etc
}

Ответы [ 2 ]

2 голосов
/ 27 июля 2011

@ synthesize расширил способность автоматически синтезировать связанное хранилище в сравнительно недавнем выпуске компилятора (фактически, не так недавно, хотя симулятор изначально не поддерживал этот шаблон).

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

@ synthesize без части = сгенерирует ivar с тем же именем, что и имя свойства.Когда вы делаете = , вы говорите ему сделать ивар с другим именем.

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