什么是设置和安装的最佳方式使用json数据填充我的nstableview?

时间:2014-01-04 12:19:03

标签: json xcode5 nstableview

如果已经回答,我很抱歉。我有点像菜鸟。从我发现的所有例子中我似乎无法解决这个问题。

我正在使用Xcode 5构建一个mac osx应用程序。我在Interface builder中创建的界面有三个tableviews。我填充这些视图的数据是json格式,并且正在使用NSURLConnection成功接收。

热门桌面视图的最佳方式是什么?我所遵循的很多教程都使用了一个使用IB拖放的数组控制器。根据我的理解,我不需要一个阵列控制器,需要为每个tableview手动代码控制器。那是对的吗?如果是这样,请解释我如何解决这个问题并设置绑定。

另外,当点击tableview 1中的列时,我打算在tableview 2&中调整数据。 3如果这会影响任何事情,请告诉我。

提前致谢!

1月6日更新

这是我目前的代码..

ContactsTableViewController.h

#import <Foundation/Foundation.h>

@interface ContactsTableViewController : NSObject <NSTableViewDataSource, NSTableViewDelegate> {
    IBOutlet NSTableView *contactsTableView;
}


-(id) init;

- (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView;

-(NSView *) tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row;

@end

ContactsTableViewController.m

#import "ContactsTableViewController.h"

@implementation ContactsTableViewController

- (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView {
    NSLog(@"numberOfRowsInTableView called");
    return 1;
}

- (id) init {
    NSLog(@"init called");

    [contactsTableView setDelegate:self];
    [contactsTableView setDataSource:self];

    [contactsTableView reloadData];

    return self;
}

- (void) initme {
    NSLog(@"customfunc");
}



-(NSView *) tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {

    NSLog(@"viewForTableColumn called");

    NSTextField *result = [tableView makeViewWithIdentifier:@"name" owner:self];// result is now guaranteed to be valid,

    result.stringValue = @"My Name"; //[self.nameArray objectAtIndex:row];

    return result;

}


@end

在我的appDelegate中:

- (void) awakeFromNib {
    NSLog(@"AWAKE");

    ContactsTableViewController *contactsController = [[ContactsTableViewController alloc] init];
}

目前tableview和numberOfRowsInTableView&amp;中没有显示任何内容。 viewForTableColumn没有被调用。

1 个答案:

答案 0 :(得分:0)

查看UITableViewDataSource,您需要在其中一个类中实现协议,可能是您的视图控制器,实现UITableViewDelegate以在同一个类中获取行选择事件。