UIViewController中的UITableView不显示json?

时间:2014-12-05 17:32:03

标签: ios objective-c json uitableview uiviewcontroller

我正在使用故事板构建iOS应用程序。我在uiviewcontroller中有uitableview并解析在表格单元格中显示的json数据。但是我遇到了问题我得到了json(userid)但它没有显示在表格单元格中。我在tabel单元格中有一个iboutlet标签用于显示用户ID。

这是我的代码: 在view.h中

@interface HostDetail : UIViewController<UITableViewDataSource,UITableViewDelegate>
@property (nonatomic, strong) NSMutableArray *UserId;

在view.m

- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
[_eventTable reloadData];

_UserId = [[NSMutableArray alloc] init];
NSURL *url=[NSURL URLWithString:@"http://34.100.29.667:3565/api/user/_id/host/:_id/joinrequest"];
NSData* data = [NSData dataWithContentsOfURL:url];
if ((unsigned long)data.length > 3) {
    // NSString *myString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

    NSArray *ys_avatars = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
  if(ys_avatars){
    for (int j=0;j<ys_avatars.count;j++)
        {
        if( ys_avatars[j][@"userid"]==nil ){
             [_UserId addObject: @""];
      }
            else{
                [_UserId addObject:ys_avatars[j][@"userid"]];}
        }}}
else
{
    NSLog(@"asd");
}
}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {

// Return the number of sections.
return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
// Return the number of rows in the section.
return _UserId.count;
}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

static NSString *Cellidentifier1 = @"eventList";
HostTableCell *cell1 = [tableView dequeueReusableCellWithIdentifier:Cellidentifier1 forIndexPath:indexPath];
 long row = [indexPath row];
cell1.userid.text = _UserId[row];
return cell1;
}

1 个答案:

答案 0 :(得分:0)

我通过在

中设置代理解决了我的问题
- (void)viewDidLoad {
[super viewDidLoad];
self.table.dataSource = self;
self.table.delegate = self;}