【发布时间】:2012-02-13 01:23:13
【问题描述】:
有什么区别:
NSString *string1 = @"This is string 1.";
和
NSString *string2 = [[NSString alloc]initWithString:@"This is string 2.];
为什么我没有分配和初始化第一个字符串,但它仍然有效?我以为我应该分配 NSString 因为它是一个对象?
在 Cocoa Touch 中,
-(IBAction) clicked: (id)sender{
NSString *titleOfButton = [sender titleForState:UIControlStateNormal];
NSString *newLabelText = [[NSString alloc]initWithFormat:@"%@", titleOfButton];
labelsText.text=newLabelText;
[newLabelText release];
}
为什么我不为titleOfButton 字符串分配和初始化?我调用的方法对我有用吗?
另外,我正在使用 XCode 4,但我不喜欢 iOS 5 等,所以如果这很重要,我不会使用 ARC。请不要说我应该,我只是在这里找出为什么会这样。谢谢!
【问题讨论】:
标签: objective-c xcode cocoa-touch cocoa nsstring