Bạn có thể thêm nó thông qua một thể loại:
EDIT
Tạo một .h cặp tập tin .m mới và trong file .h:
@interface UIViewController(JSON)
-(void) bringJSON;
-(void) fetchData:(NSData*) data;
@ end
Sau đó, trong. m tệp:
@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
Tôi chỉ giả định rằng y ou sẽ được trả lại một NSArray, bạn có thể đặt bất kỳ phương pháp ở đó và mở rộng tất cả UIViewControllers. Phương thức bringJSON sẽ có sẵn cho tất cả UIViewControllers và các lớp con của nó.
Nguồn
2012-06-01 15:59:46
Singleton http://en.wikipedia.org/wiki/Singleton_pattern –
rooster117 là đúng. Bạn đang đề cập đến một phương pháp tĩnh. Hãy nhớ rằng tất cả các phương thức đều được công khai trong Objective-C. Tuy nhiên, bạn có thể "ẩn" một phương thức hoặc gây ra một cảnh báo trình biên dịch bằng cách khai báo các phương thức trong một phần mở rộng của lớp. Tuy nhiên, họ không thực sự riêng tư. –