È possibile aggiungere tramite una categoria:
EDIT
Creare un nuovo coppia di file .m .h e nel file .h:
@interface UIViewController(JSON)
-(void) bringJSON;
-(void) fetchData:(NSData*) data;
@ end
Poi nel. m file:
@implementation UIViewController(JSON)
-(void) bringJSON {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
[NSData dataWithContentsOfURL:yourURL];
[self performSelectorOnMainThread:@selector(fetchData:)
withObject:data waitUntilDone:YES];
});
}
-(void) fetchData:(NSData*) data {
//parse - update etc.
}
@end
Dove sto solo supponendo che y tornerà un NSArray, puoi mettere qualsiasi metodo lì ed estendere tutti i controlli UIView. Il metodo bringJSON sarà disponibile per tutti i UIViewControllers e le sue sottoclassi.
fonte
2012-06-01 15:59:46
Singleton http://en.wikipedia.org/wiki/Singleton_pattern –
rooster117 è corretto. Ti stai riferendo a un metodo statico. Si prega di tenere presente che tutti i metodi sono pubblici in Objective-C. È tuttavia possibile "nascondere" un metodo o causare un avviso del compilatore dichiarando metodi in un'estensione di classe. Tuttavia, non sono veramente privati. –