ARC는 실제로 중요하지 않습니다. 당신이 싱글 톤의 측면 인 the negative을 이해하고 그걸 처리 할 준비가되어있는 한 패턴은 잘 동작합니다.
대안으로 제안하는 것은 정적 클래스를 디자인하고 공급자 패턴을 사용하는 것입니다. 이것은 RESTKit과 함께 사용하는 전형적인 인터페이스입니다 (이 인터페이스는 Facebook 그래프 API에 액세스합니다). 더 싱글이 없습니다
@interface FBProvider : NSObject
+ (BOOL) canMakeRequests;
+ (id) login;
+ (id) logout;
+ (BOOL) application: (UIApplication*) application
openURL: (NSURL*) url
sourceApplication: (NSString*) sourceApplication
annotation: (id) annotation;
+ (id) perform: (RKRequestMethod) method friends: (Friend*) frien;
+ (id) perform: (RKRequestMethod) method boasts: (id) obj;
+ (id) perform: (RKRequestMethod) method invites: (id)obj;
+ (id) perform: (RKRequestMethod) method likes: (id)obj;
@end
은, 모든 정적 및 앱 데이터 모델에서 동작하며 NOT 웹 서비스 UI 업데이트가 자동으로 수행하도록 인터페이스를 디자인합니다.
또는 싱글 톤을 사용해야하는 이유는 진정한 싱글 톤인 앱 대리인을 활용하지 않는 이유입니다. 확장하려면 웹 서비스 또는 데이터 공급자가 기존 싱글 톤의 구성원이 될 것을 제안합니다. 문제를 직접 스레딩하는 것에 대해 걱정할 필요가 없습니다. 코코아에서 처리되기를 바랍니다.
특히 ARC를 사용하는 경우에는 싱글 톤을 피해야합니다. – mydogisbox
@mydog : 그 진술에 대한 몇 가지 근거를 설명해 주시겠습니까? –
@JoshCaswell 더 많이 인스턴스 스타일 싱글 톤에 적용됩니다. – mydogisbox