【发布时间】:2017-11-05 20:53:48
【问题描述】:
目前我在 viewcontroller 本身中调用 API,但根据 MVC,这不是好的编程实践。
这是我的代码:
-(void)fetchData{
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:@"https://dl.dropboxusercontent.com/s/2iodh4vg0eortkl/facts.json"]];
[request setHTTPMethod:@"GET"];
[request addValue:@"text/plain" forHTTPHeaderField:@"Content-Type"];
[request addValue:@"text/plain" forHTTPHeaderField:@"Accept"];
NSURLSession *session = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
[[session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
NSString *requestReply = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
NSData * responseData = [requestReply dataUsingEncoding:NSUTF8StringEncoding];
if (responseData != nil) {
NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];
NSLog(@"requestReply: %@", jsonDict);
self.content = jsonDict[@"rows"];
self.navigationTitle = jsonDict[@"title"];
dispatch_async(dispatch_get_main_queue(), ^{
[self.tableView reloadData];
});
NSLog(@"result %@", self.content);
}
}] resume];
}
您能否建议我应该如何安排代码/文件以遵循 MVC 模式?
如果我创建单独的模型类,我应该如何管理现有代码以及如何将响应转移到viewcontroller?
【问题讨论】:
标签: ios objective-c model-view-controller