首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >创建空的NSDate对象

创建空的NSDate对象
EN

Stack Overflow用户
提问于 2010-09-14 23:16:11
回答 2查看 3K关注 0票数 0

这样可以吗?

代码语言:javascript
运行
复制
NSDate *myDate;

因为我以前用过这样的东西:

代码语言:javascript
运行
复制
NSDate *myDate = [[NSDate alloc] init];

if (something)
     myDate = thisDate;
else
     myDate = thatDate;

[myFunction initWithDate:myDate];

我总是得到“初始化时存储到'myDate‘中的值永远不会被读取”。如果我做这样的事情

代码语言:javascript
运行
复制
if (something)
     NSDate *myDate = thisDate;
else
     NSDate *myDate = thatDate;

[myFunction initWithDate:myDate];

我得到“未使用的变量'myDate'”和"'myDate‘未声明(在此函数中首次使用)“

这个版本是什么样子的?自动释放?

EN

Stack Overflow用户

回答已采纳

发布于 2010-09-14 23:20:00

如果你只想指向一个预先存在的日期,你可以这样做:

代码语言:javascript
运行
复制
NSDate *myDate = something ? thisDate : thatDate;
[myFunction initWithDate:myDate];

甚至是

代码语言:javascript
运行
复制
[myFunction initWithDate:something ? thisDate : thatDate];

然而,为了更清楚地回答你的问题,是的,这应该是可以的:

代码语言:javascript
运行
复制
NSDate *myDate;

if (something) {
    myDate = thisDate;
} else {
    myDate = thatDate;
}

如果需要,还可以将myDate初始化为nil (myDate = nil)。

就内存管理而言,您只是设置了一个指针--您不是在创建新对象,也不是(通过retain)获得现有对象的所有权--因此根本不需要使用releaseautorelease

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3710272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档