如果已经回答,我很抱歉。我有点像菜鸟。从我发现的所有例子中我似乎无法解决这个问题。
我正在使用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没有被调用。
答案 0 :(得分:0)
查看UITableViewDataSource,您需要在其中一个类中实现协议,可能是您的视图控制器,实现UITableViewDelegate以在同一个类中获取行选择事件。