假设我有这个代码:
NSString *inspDate = @"20120515";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyyMMdd"];
NSDate *inspectionDate;
inspectionDate = [dateFormatter dateFromString:inspDate];
当我检查它是否有效(NSDate
包含格式正确的数据)时,它确实有效……但为什么呢?
在这里,我将执行以下步骤:
内存
NSDateFormatter
在堆中被分配和实例化。dateFormatter
指向那个位置,明白了:NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
现在
dateFormatter
被告知如何将NSString
's 解释为日期,好的:[dateFormatter setDateFormat:@"yyyyMMdd"];
这是我模糊的部分,
inspectionDate
指针设置为零。它没有指向任何东西:NSDate *inspectionDate;
当没有或调用到时如何
dateFormatter
返回指向 a 的指针?是在执行中做和在执行吗?NSDate
alloc
init
inspectionDate
dateFromString
alloc
init
inspectionDate = [dateFormatter dateFromString:inspDate];
帮助我想象这将是一个巨大的帮助。谢谢!