这样可以吗?
NSDate *myDate;因为我以前用过这样的东西:
NSDate *myDate = [[NSDate alloc] init];
if (something)
myDate = thisDate;
else
myDate = thatDate;
[myFunction initWithDate:myDate];我总是得到“初始化时存储到'myDate‘中的值永远不会被读取”。如果我做这样的事情
if (something)
NSDate *myDate = thisDate;
else
NSDate *myDate = thatDate;
[myFunction initWithDate:myDate];我得到“未使用的变量'myDate'”和"'myDate‘未声明(在此函数中首次使用)“
这个版本是什么样子的?自动释放?
发布于 2010-09-14 23:20:00
如果你只想指向一个预先存在的日期,你可以这样做:
NSDate *myDate = something ? thisDate : thatDate;
[myFunction initWithDate:myDate];甚至是
[myFunction initWithDate:something ? thisDate : thatDate];然而,为了更清楚地回答你的问题,是的,这应该是可以的:
NSDate *myDate;
if (something) {
myDate = thisDate;
} else {
myDate = thatDate;
}如果需要,还可以将myDate初始化为nil (myDate = nil)。
就内存管理而言,您只是设置了一个指针--您不是在创建新对象,也不是(通过retain)获得现有对象的所有权--因此根本不需要使用release或autorelease。
https://stackoverflow.com/questions/3710272
复制相似问题