Object-C NSTableView的view-base形式的简单使用
发布日期:2021-08-16 15:55:48 浏览次数:14 分类:技术文章

本文共 2024 字,大约阅读时间需要 6 分钟。

1. 环境

Mac OSX 10.10.5 + Xcode 7.2.1

2. 创建工程

3. 控件设置

a. 拖动一个TableView控件和一个Button控件到View Controller.

b. 设置TableView为view-base形式,并设置显示为两列,网格设为实线。

c. 设置TableView的一列的Title和Identifier为Name,一列Title和Identifier为Phone。

 Identifier是唯一的。

4. 创建一个类TableViewData

用于操作TableView显示的数据,TableView的DataSource和AppDelegate绑定到TableViewData类。

5. TableViewData相关的设置

a. 增加一个Object实体,Class设置为TableViewData方便绑定TableView。

b. 绑定TableView的DataSource和AppDelegate到Object。

c. TableView和Button添加到Class TableViewData。

TableView:

Button:

d. 设置完成后,object的属性。

6. 实现NSTableView方法。

1.  - (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView

2. - (NSView *)tableView:(NSTableView *)tableView

   viewForTableColumn:(NSTableColumn *)tableColumn

                  row:(NSInteger)row;

 

 TableViewData.h :

#import 
#import
@interface TableViewData : NSObject@property (weak) IBOutlet NSTableView *tableView;@property NSMutableArray *rowData;@end

TableViewData.m :

#import "TableViewData.h"@implementation TableViewData- (id)init {    self = [super init];    if (self) {        // Initialize self.        self.rowData = [[NSMutableArray alloc] init];    }    return self;}- (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView{    return self.rowData.count;}- (NSView *)tableView:(NSTableView *)tableView   viewForTableColumn:(NSTableColumn *)tableColumn                  row:(NSInteger)row{    NSString *identifier = [tableColumn identifier];    NSDictionary *dict = [self.rowData objectAtIndex:row];    NSString *value = [dict objectForKey:identifier];    if (value) {        NSTableCellView *column = [tableView makeViewWithIdentifier:identifier owner:self];        column.textField.stringValue = value;        return column;    }    return nil;}- (IBAction)clickButtonToUpdateTableView:(id)sender {    NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys:@"John",@"Name",@"123456",@"Phone", nil];    [self.rowData addObject:dict];    [self.tableView reloadData];}@end

 

代码:github

 

 

 

转载于:https://www.cnblogs.com/v-BigdoG-v/p/7503700.html

转载地址:https://blog.csdn.net/weixin_30810239/article/details/98619636 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:windows系统npm如何升级自身
下一篇:大型网站架构体系的演变

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年04月05日 02时31分48秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章