Когда я должен использовать префикс на классах Objective C?

В Python вызываемым является объект, который тип имеет __call__ метод:

>>> class Foo:
...  pass
... 
>>> class Bar(object):
...  pass
... 
>>> type(Foo).__call__(Foo)
<__main__.Foo instance at 0x711440>
>>> type(Bar).__call__(Bar)
<__main__.Bar object at 0x712110>
>>> def foo(bar):
...  return bar
... 
>>> type(foo).__call__(foo, 42)
42

Настолько простой:)

Это, конечно, может быть перегружено:

>>> class Foo(object):
...  def __call__(self):
...   return 42
... 
>>> f = Foo()
>>> f()
42
9
задан Don 4 December 2009 в 06:49
поделиться

2 ответа

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

Это также включает сущности CoreData; они также должны использовать тот же префикс, что и остальные классы вашего приложения.

15
ответ дан 4 December 2019 в 13:02
поделиться

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

1
ответ дан 4 December 2019 в 13:02
поделиться
Другие вопросы по тегам:

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