我真的很困惑任何帮助都将受到高度赞赏
那么下面有什么区别
int myInteger = 1;
myString = [NSString stringWithFormat:@"anotesound%i",myInteger];
和这个
myString = [NSString stringWithString:@"anotesound1"];
我认为两者应该相同但是开放al不接受那些是相等的,它适用于stringwithstring但不适用于stringwithformat
答案 0 :(得分:1)
stringWithFormat:始终返回一个新创建的自动释放对象,该对象最终将被释放并变为僵尸。 stringWithString:在这种情况下返回文本(常量)对象本身,它永远不会被释放。
我建议你学习iOS的内存管理,或者使用ARC。 http://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/MemoryMgmt/
答案 1 :(得分:0)
结果相同,错误在其他地方。
不同之处在于myInteger是不同实例化的常量或填充变化。如果它总是相同的,只需使用:
myString = @"anotesound1";
当字符串是常量时,不需要stringWithString
方法。