我已经在nsobject类中编写了一个带有完成块的方法,并从uiviewcontroller调用了该方法,它的工作原理很好,但是如何在该方法中传递nsstring参数,以下是我的一些代码。
-(void)testingFunction:(void(^)(NSMutableArray* result))handler{
NSMutableArray *dataArray = [[NSMutableArray alloc] init];
NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:urlstring]];
NSString *authStr = @"";
NSData *authData = [authStr dataUsingEncoding:NSUTF8StringEncoding];
NSString *authValue = [NSString stringWithFormat: @"Basic %@",[authData base64EncodedStringWithOptions:0]];
[request setValue:authValue forHTTPHeaderField:@"Authorization"];
//create the task
NSURLSessionDataTask* task = [[NSURLSession sharedSession] dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
[dataArray addObject:[[json objectForKey:@"query"] objectForKey:@"geosearch"]];
dispatch_async(dispatch_get_main_queue(), ^{
handler(dataArray) ;
});
}];
[task resume];
}
Run Code Online (Sandbox Code Playgroud)
并从我的uiviewcontroller调用此方法
[[AllFunction sharedInstance] testingFunction:^(NSMutableArray* testResult){
[somearray addObject:testResult];
NSLog(@"Result was …Run Code Online (Sandbox Code Playgroud) 是否可以将 UIViewController 或 UIView 类型类制作为启动屏幕?基本上我想要为我的应用程序提供一个动画启动屏幕。
有没有为什么在调度后用2秒调用一个方法,就像performSelector:withObject:afterDelay:?