gpt4 book ai didi

ios - 为什么这里需要类型转换?

转载 作者:可可西里 更新时间:2023-11-01 05:31:36 25 4
gpt4 key购买 nike

我一直在学习 Apple 的“您的第二个 IOS 应用程序”教程”,我注意到每次我使用 NSDateFormatter 生成日期字符串时,我都希望转换输入日期对象。

例如(Page - 在“实现 configureView 方法”下)

BirdSighting *theSighting = self.sighting;

if (theSighting) {
self.birdNameLabel.text = [theSighting name];
self.locationLabel.text = [theSighting location];

self.dateLabel.text = [formatter stringFromDate:(NSDate *)theSighting.date]; // Here
}

但是我知道在 BirdSighting 类中,date 属性始终是一个 NSDate 对象。

所以我想知道为什么教程总是转换输入,是否有某种 objective-c 约定或框架约定建议您这样做?如果是,为什么?

最佳答案

没必要。转换只是为了清楚起见,因为该属性已定义为 NSDatehere :

@property (nonatomic, strong) NSDate *date; 

在处理核心基础时,唯一需要以这种形式进行类型转换的情况是非弧形,如下所示:

CFDateRef asCFDate;
NSDate *asNSDate = (NSDate *) asCFDate;

但是,在 ARC 中,您将使用 __bridge 转换。

关于ios - 为什么这里需要类型转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10176477/

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