NSString注意的地方 iOS
来源:互联网 发布:手机量角器软件 编辑:程序博客网 时间:2024/05/16 12:42
赋值:
NSString * str = @"123"; // 这段代码的含义其实就是附一个常量给str,该部分由系统自动管理,不需要release释放,是会autorelease的。
NSString * str = [[NString alloc] initWithString :@"111"]; // 这种写法本身存在问题,因为这个代码的含义是说给str附一个常量,因此会被编译器优化,因此也是不需要release的,尽管有alloc出现。
NSString * str = [[NSString alloc] initWithFormat:@"123"] ;// 必须要进行release才可以,因为这样就会导致内存泄露。
NSString * str = [[NSString stringWithFormat:@"111"];// 则个不需要release,也不会产生内存泄露,因为该部分调用的是系统的类方法,也就是会autorelease。这种方法其实也被称之为临时的变量使用方法。
补充一点内容:
1、initWithFormat是实例方法
只能通过 NSString* str = [[NSString alloc] initWithFormat:@"%@",@"Hello World"] 调用,但是必须手动release来释放内存资源
2、stringWithFormat是类方法
可以直接用 NSString* str = [NSString stringWithFormat:@"%@",@"Hello World"] 调用,内存管理上是autorelease的,不用手动显式release
解决办法有二个:
1、
NSString * str = [[NSString alloc] initWithFormat:@"%@",@"abc"];
label.text = str;
[str release]
最后在dealloc中再[label release]
2、
label.text = [NSString stringWithFormat:@"%@",@"abc"];
另外,对于函数调用,也会经常用到nsstring作为一个返回值。因此一个比较正确的函数的处理方法如下:一个方法,返回一个NSString对象,在事件中调用方法.并尝试release 方法返回的NSString对象.
- <span style="color:#454545">-(NSString*) createNewString{
- //情况1 -</span><span style="color:#ff0000">- 需要自己释放</span><span style="color:#454545">。
- return [[[NSString alloc] initWithFormat:@"%@",@"1223344"] autorelease];
- //情况2 -</span><span style="color:#ff0000">- 系统自动释放。 这种方法因为不安全,并且存在含义模糊的情况,不建议使用。</span><span style="color:#454545">
- return [[[NSString alloc] initWithString:@"1223344"] autorelease];
- // 情况3 -</span><span style="color:#ff0000">- 系统自动释放。</span><span style="color:#454545">
- return @"1223344";
- }</span>
- NSString注意的地方 iOS
- IOS 值得注意的地方
- ios编程需要注意的地方
- ios审核要注意的地方
- IOS 处理图片要注意的地方
- Ios UIColor 需要注意的地方
- ios审核要注意的地方
- ios审核要注意的地方
- IOS 审核要注意的地方
- ios审核要注意的地方
- IOS APP测试需要注意的地方
- iOS测试中注意的地方
- IOS 内存管理需要注意的地方
- ios审核要注意的地方(转)
- iOS CoreData应用升级需要注意的地方
- iOS CoreData应用升级需要注意的地方
- iOS CoreData应用升级需要注意的地方
- iOS CoreData应用升级需要注意的地方
- BoW用于图像检索的一般化流程
- slickedit and cdt
- Java异常处理总结及重要性
- jQuery.fn.ajaxSubmit
- flex datagrid doubleclick实例
- NSString注意的地方 iOS
- 串的模式匹配
- unity3d调用第三方dll
- app 启动时直接退出
- 一例无光驱,无U盘 实现xp下格式化重新安装win7方法
- HDU 2485 Destroying the bus stations (看着像求最小割,但是是最小费用最大流)
- GNU C 、ANSI C、标准C、标准c++区别和联系
- ios局域网联机——苹果官方源码之WiTap剖析(一)
- ICTCLAS错误问题