转载自:http://www.cocoachina.com/ask/questions/show/85981
前一个是autorelease类型的,不用你手动释放,系统会回收,后面的你要需自己释放
区别在于生成的字符串何时被回收。使用alloc出来的方式,字符串在调用release的时候被回收(假设该字符串没有被其他东西引用);使用stringWith的方式,字符串在api内部会被设置成autorelease,因此将会在最近的一个NSAutoreleasePool drain或release时被回收。
因此如果希望手动控制字符串被尽快回收,建议采用alloc方式,后边及时release。或者手动建立一个pool。否则只能等到包含整个app的pool release时才会被回收(即字符串一直在进程生存时存在)。