gpt4 book ai didi

ios - 在iOS的适当位置放置应用程序宽日期格式?

转载 作者:行者123 更新时间:2023-12-01 17:45:01 25 4
gpt4 key购买 nike

在典型的iOS应用程序中,应该将应用程序范围的对象放在哪里?我想集中我的日期格式代码,并且有兴趣听取有关这样做的最佳实践的建议。

例如,我有以下代码进行日期格式化:

NSLocale *usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
NSString *usFormatString = [NSDateFormatter dateFormatFromTemplate:@"EEE, MMM d YYY" options:0 locale:usLocale];

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = usFormatString;

((UILabel *)[selectedCell.contentView viewWithTag:1]).text = [formatter stringFromDate:date];

我想将格式代码保持为DRY。

编辑:事实证明这是一个多部分的答案,我采用了结合使用Singleton和为NSString创建类别的方法。我支持大多数人,但我接受了@Jack_Lawrence。

最佳答案

我喜欢将Objective-C类别用于此类工作。类别非常适合扩展现有对象的功能,尤其是您无法控制的框架中的对象。确保为方法名称加上前缀,以免与Apple可能实现的当前/将来方法冲突。

在这种特定情况下,我将在NSDate上创建一个名为NSDate + DateFormatting的类别,并实现一个从日期接收者返回NSString的方法:

- (NSString *)JL_stringByFormattingDate
{
NSLocale *usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
NSString *usFormatString = [NSDateFormatter dateFormatFromTemplate:@"EEE, MMM d YYY" options:0 locale:usLocale];

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = usFormatString;

return [formatter stringFromDate:self.date];
}

关于ios - 在iOS的适当位置放置应用程序宽日期格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8690181/

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