Я видел во многих стандартных API Apple и пользовательских API с открытым исходным кодом, что объект может быть объявлен как общий. Например, NSUserDefaults
доступен методом [NSUserDefaults standardUserDefaults]
, а NSNotificationCenter
- методом [NSNotificationCenter defaultCenter]
. Мне было интересно, как я могу сделать один из моих пользовательских объектов в приложении общим, чтобы к текущему экземпляру этого объекта можно было получить доступ с помощью такого метода, как [MyObject sharedObject]
?
Я загрузил приложение с этой функциональностью, но объект, к которому был предоставлен общий доступ, только объявил метод, используемый для доступа к текущему экземпляру объекта в файле заголовка (.h), и не было реализации метода в файле реализации (. м).
Он заявил об этом, сказав:
+ (GameObject *)sharedGameObject;
Я знаю, что плюс означает, что это метод класса, а это означает, что он не требует создания экземпляра этого класса, но к нему можно получить доступ в любом случае, как метод CALayer
[CALayer layer]
.
Буду признателен за любую помощь! Спасибо,
Бен