gpt4 book ai didi

objective-c - 如何在表格列中显示 NSDate

转载 作者:行者123 更新时间:2023-12-03 17:53:06 27 4
gpt4 key购买 nike

我有一个表,其中包含“名称”和“日期”列

我希望日期以“dd/MM/yy”格式显示,但它显示为“2012 年 4 月 13 日星期五上午 12:00:00 印度标准时间”。

我有以下代码:

Person.h

@interface Person : NSObject{

NSString *name;
NSDate *date;
}

@property(retain) NSString *name;

@property(retain) NSDate *date;

人物.m

#import "Person.h"

@implementation Person

@synthesize name;

@synthesize date;

- (id)init {

self = [super init];

self.date = [NSDate date];

return self;

}

- (void)dealloc {

[name release];

[date release];

[super dealloc];
}

现在,在向表中添加数据时,我编写了以下代码

Person *data = [Person new];
[data setName:@"abc"];

NSString *dateStr = @"13/04/12";
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"dd/MM/yy"];
NSDate *date = [dateFormat dateFromString:dateStr];
[data setDate:date];

[arrayController addObject:data];
[data release];

arrayController 是 NSArraycoroller。添加 nstable 中的所有条目后将 Person 对象添加到 arrayController 中[tableView reloadData] 更新 TableView 。

但在表格中显示“2012 年 4 月 13 日星期五 12:00:00 AM 印度标准时间”

请提出任何解决方案。

最佳答案

看起来您正在使用基于单元格的 NSTableView。

如果您想通过代码实现此目的:

您应该实现 NSTableViewDelegate 方法:-tableView:dataCellForTableColumn:row:创建 NSCell 实例后,为此单元格实例设置格式化程序(创建 NSDateFormatter 实例并设置它),使用 [NSCell setFormatter:] 方法。

通过IB:

搜索 NSDateFormatter,然后将其拖放到单元格上,该单元格应显示此日期。它还将为您提供修改日期格式化程序行为的选项,但您希望能够更改显示格式,因为它是从区域设置中获取的。

关于objective-c - 如何在表格列中显示 NSDate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19862124/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com