Возможности при попытке получить доступ к атрибуту экземпляра? [Дубликат]

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

AppDelegate *appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;

. Для примера

, если вы объявите NSArray object *arrayXYZ, вы можете получить к нему доступ в любом контроллере представления appDelegate.arrayXYZ

6
задан cizixs 30 August 2015 в 10:36
поделиться

2 ответа

bar = a.foo ...

  1. вызывает a.__getattribute__('foo')
  2. , который, в свою очередь, по умолчанию смотрит вверх a.__dict__['foo']
  3. или вызывает foo .__get__(), если он определен на A.

Затем возвращаемое значение будет присвоено bar.


a.foo = bar ...

  1. вызывает a.__getattribute__('foo')
  2. , который, в свою очередь, по умолчанию ищет a.__dict__['foo']
  3. или вызывает foo 's .__set__(bar), если определено на A.
7
ответ дан Amber 28 August 2018 в 07:50
поделиться

Я узнал этот отличный пост , который содержит подробное объяснение по поиску атрибутов объекта / класса.

Для поиска атрибута объекта:

Предполагаемый класс класс и экземпляр - это экземпляр класса, вычисляющий instance.foobar, примерно равный этому:

  • Вызовите слот типа Class.getattribute (tp_getattro). По умолчанию используется следующее: имеет ли Class.dict элемент foobar, который является дескриптором данных? Если да, верните результат Class.dict ['foobar']. Get (instance, Class). Имеет ли instance.dict элемент foobar? Если да, верните instance.dict ['foobar']. Имеет ли Class.dict элемент foobar, который не является дескриптором данных [9]? Если да, верните результат Class.dict ['foobar']. Get (instance, klass). [6]
  • Если атрибут все еще не найден и есть класс.getattr, вызовите Class.getattr ('foobar').

Существует иллюстрированное изображение для этого:

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

4
ответ дан cizixs 28 August 2018 в 07:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: