0

我正在尝试从我的模型中加载一些 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。为了保护我的数据)

4

1 回答 1

0

self.dataSource = [[MKDataSource alloc] init];initwithnibname 移至 viewdidload。

作品

于 2013-09-16T10:16:56.700 回答