我正在尝试从我的模型中加载一些 JSON 数据。但我想使用一个块,这样我就可以检查是否有完整的“是”或“否”的数据。但是我从我的 viewdidload 中调用我的块设置了一个断点来检查它是否被调用并且它到达了块,但是跳过了块之间的所有内容。
BlaVIewController.m
#import "MKDataSource.h"
@interface BlaViewController ()
@property (strong, nonatomic) MKDataSource *dataSource;
@property (strong, nonatomic) IBOutlet UITableView *tableView;
@end
@implementation BlaViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
self.dataSource = [[MKDataSource alloc] init];
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
[self.dataSource loadData:^(BOOL complete, NSError *error) {
if (complete) {
//[self.tableView reloadData];
NSLog(@"There is data");
} else {
// error
NSLog(@"No data found");
}
}];
// Do any additional setup after loading the view.
}
还有我的 MKDataSource.m
@interface MKDataSource ()
@property (strong, nonatomic) NSDictionary *data;
@end
@implementation MKDataSource
- (void)loadData:(bool_complete)complete {
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://google.com"]];
NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
self.data = [NSJSONSerialization JSONObjectWithData:response options:0 error:nil];
NSLog(@"JSON Data %@", self.data);
complete(YES, nil);
}
请解释我做错了什么。我检查了 JSON 并且它有效。(我删除了 JSON url 并将其替换为 google.com。为了保护我的数据)