【发布时间】:2011-11-15 23:30:17
【问题描述】:
在我的程序中,我有
NSString *stringOne = [NSString stringWithFormat:@"Hello World"];
[variable insertText:stringOne];
并且代码运行良好。我知道 'stringWithFormat:' 方法会启动对象,但分配发生在哪里?为什么这里不需要?
我可以用 NSSound 做同样的事情
NSSound *favoriteSong = [NSSound soundNamed:@"Friday"];
[favoriteSong play];
这也将运行。我知道 'soundNamed:' 返回并启动对象,但从未分配过 NSSound。
我一直认为我必须做以下事情..
NSSound *favoriteSong = [[NSSound alloc]initWithBlablanla];
然后从那里继续以使一切正常。
我要问的是,分配发生在哪里?
【问题讨论】:
-
系统负责分配
classes——你很少需要担心这个。但是,instances完全是另一回事。
标签: iphone objective-c class memory-management