相关疑难解决方法(0)

文字NSString是自动释放还是需要发布?

使用以下表示法创建字符串时:

NSString *foo = @"Bar";
Run Code Online (Sandbox Code Playgroud)

是否需要发布foo?或者foo在这种情况下自动释放?

cocoa-touch memory-management objective-c literals nsstring

19
推荐指数
3
解决办法
7508
查看次数

NSString分配和初始化

有什么区别:

NSString *string1 = @"This is string 1.";
Run Code Online (Sandbox Code Playgroud)

NSString *string2 = [[NSString alloc]initWithString:@"This is string 2.];
Run Code Online (Sandbox Code Playgroud)

为什么我不分配和初始化第一个字符串,但它仍然有效?我以为我应该分配NSString,因为它是一个对象?

在Cocoa Touch,

-(IBAction) clicked: (id)sender{
   NSString *titleOfButton = [sender titleForState:UIControlStateNormal];
   NSString *newLabelText = [[NSString alloc]initWithFormat:@"%@", titleOfButton];
   labelsText.text=newLabelText;
   [newLabelText release];
}
Run Code Online (Sandbox Code Playgroud)

为什么我不为titleOfButton字符串分配和初始化?我打电话的方法是否适合我?

另外,我正在使用XCode 4,但我不喜欢iOS 5等等,所以如果重要的话我不会使用ARC.请不要说我应该,我只是在这里找出为什么会这样.谢谢!

xcode cocoa cocoa-touch objective-c nsstring

11
推荐指数
1
解决办法
1万
查看次数