iOS:如何定义公共方法?

88f*_*tos 10 methods public ios

如何在每个viewcontroller类中定义一个可以从任何地方调用的方法?

我有一个方法,给我带来一个json文件,我希望它可以重用,因为我在我的应用程序上有几个json调用.

你能帮助我吗?

Kaa*_*glu 6

您可以通过类别添加它:

编辑

在.h文件中创建一个新的.h .m文件对:

@interface UIViewController(JSON)
-(void) bringJSON;
-(void) fetchData:(NSData*) data;


@ end
Run Code Online (Sandbox Code Playgroud)

然后在.m文件中:

@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
Run Code Online (Sandbox Code Playgroud)

我假设您将返回NSArray,您可以在其中放置任何方法并扩展所有UIViewControllers.方法bringJSON将可用于所有UIViewControllers及其子类.