NSString stringwithstring和stringwithformat的区别

时间:2011-11-25 21:17:58

标签: iphone xcode string nsstring openal

我真的很困惑任何帮助都将受到高度赞赏

那么下面有什么区别

int myInteger = 1;
myString = [NSString stringWithFormat:@"anotesound%i",myInteger];

和这个

myString = [NSString stringWithString:@"anotesound1"];

我认为两者应该相同但是开放al不接受那些是相等的,它适用于stringwithstring但不适用于stringwithformat

2 个答案:

答案 0 :(得分:1)

stringWithFormat:始终返回一个新创建的自动释放对象,该对象最终将被释放并变为僵尸。 stringWithString:在这种情况下返回文本(常量)对象本身,它永远不会被释放。

我建议你学习iOS的内存管理,或者使用ARC。 http://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/MemoryMgmt/

答案 1 :(得分:0)

结果相同,错误在其他地方。

不同之处在于myInteger是不同实例化的常量或填充变化。如果它总是相同的,只需使用:

myString = @"anotesound1";

当字符串是常量时,不需要stringWithString方法。