为什么铸造这里需要的?

我一直在通过苹果的“你的第二个iOS应用”教程的工作“,我已经注意到,每次我使用一个NSDateFormatter生产日期字符串,我预期蒙上输入日期对象。

如(页 - “为贯彻落实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的公约或框架convetion是建议你这样做的? 如果是,为什么?

--------------解决方案-------------

这不是必需的。 演员仅仅是为了清楚起见,因为财产已经被定义为一个NSDate ,在这里:

@property (nonatomic, strong) NSDate *date;

其中,铸造是必要的,这种形式的唯一情况会或者是在非弧核心基础打交道时,就像这样:

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

然而,在ARC,你可以使用一个__bridge ,而不是演员。

演员是不必要的,应在我看来,被删除。

该物业已被定义为一个NSDate数据模型对象(除非有后续步骤,它重新定义为id或东西,这是值得怀疑的),所以它是没有给出额外的信息,代码或编译器的读者。

分类:目标C 时间:2015-03-15 人气:1
本文关键词: 客观的C,IOS,苹果
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.315 (s). 10 q(s)