Некоторые контрапункты от автора:
Вы застреваете, если необходимо сделать класс не единственным в будущем Нисколько - я был в этой ситуации с одиночным элементом соединения единой базы данных, что я хотел превратиться в пул соединения. Помните, что к каждому одиночному элементу получают доступ через стандартный метод:
MyClass.instance
Это подобно подписи метода фабрики. Все, что я сделал, было обновить метод экземпляра возвратить следующее соединение из пула - никакие другие требуемые изменения. Это было бы намного более твердо, если бы мы не использовали одиночный элемент.
Одиночные элементы являются просто необычным globals, не Может спорить с этим, но так все статические поля и методы - что-нибудь, к чему получают доступ от класса, а не экземпляр чрезвычайно глобален, и я не вижу так много pushback на использовании статических полей?
Не высказывание, что Одиночные элементы хороши, просто пододвинув обратно в части 'расхожего мнения' здесь.
The "Active SDK" value is effectively a build-time override of your "Base SDK" value, and determines which version of the SDK is used to build your application. In general, you should build your application against the latest stable SDK (at the moment, that's the non-beta 3.0 SDK), and set your "iPhone OS Deployment Target" to the version of the oldest device you intend to support (e.g. 2.2.1).