转载:http://blog.csdn.net/onlyou930/article/details/6932529 http://www.cnblogs.com/celestial/archive/2012/10/10/2719169.html 1. 字符串常量 NSString *s = @"test"; NSLog(@"s:%d",[s retainCount]); // -1或2147483647(即UINT_MAX ( Maximum value an `u…
我们先来定义三个NSString -(void) testNSString { NSString* a = @"abc"; NSString* b = [NSString stringWithUTF8String:"abc"]; NSString* c = [@"ab" stringByAppendingString:@"c"]; } 大家都明白,a, b, c 都equalsToString:@"abc"…
在编程语言中是少不了对内存的管理的,内存对于计算机来说是宝贵的资源,所以对使用不到的资源进行回收是很有必要的.OC中使用引用计数和垃圾回收来管理内存,在OC中为每个对象分配一个引用计数器,当对象刚刚被创建时其初始值为1,当有某段代码需要访问一个对象是时,会将该对象的引用计数器加1(通过retain来实现);当访问一个对象结束时,会将该对象的引用计数器减1(通过release来实现):当计数器为0时,该对象占用的内存空间会被收回.在NSObject类有一个retainCount方法,调用该方法可获…

MRC

MRC 关于NSString,retainCount为-1 C方法中含有Copy的方法名, 都要释放 例如CFRealse(ref) 字符串常量,因为one为字符串常量,系统不会回收,也不会对其作引用计数,即使我们对test1 做任何retain或release. NSObject *obj = [[NSObject alloc] init]; ojb 的 引用计数为 1 (默认,相当于retain) [obj retain]; 引用计数+1 [obj release]; 引用计数-1 [obj…
  Xcode中集成了免费的sqlite,但是不提供加密的模块,突然有一天,蛋疼的客户要求把数据进行加密,于是乎就寻找使用简单并且可以把数据迁移过度到加密数据库的框架. SQLCipher是第三方的开源框架,实现对sqlite的加密,官网链接:http://sqlcipher.net.下面开始下载并导入框架.(使用命令行下载) 一.使用SQLCipher需要3个文件:sqlcipher,openssl-xcode,openssl-1.0.0e 下载 openssl-xcode cd ~/Docu…
iOS有很多的设计模式,当然,不管是什么语言有很多的设计模式.辛格尔顿是一种之一,辛格尔顿,它从字面上是一个单独的实例,首先,它是只有一个单一的,其次,它是一个实例.我们知道,在iOS用于开发Objective-C语言是面向对象的语言,我们说的实例通常就是指我们创建的对象.而用来创建单例(唯一实例)的类就是单例类,这一点不难理解. 单例: 不管一个应用程序请求多少次,单例类都始终返回的是同一个实例对象. 一个典型的类在用户须要的情况下会创建非常多个对象.而一个单例类在一个应用程序其中仅仅会创建唯…
一.数组.  数组只能存放对象类型的数据  2.数组中的对象是有序的 (index)     (一)可变数组   NSArray:NSObject  不可变数组 作用:容器类 存放的是对象类型的数据,不可变数组,创建的时候是什么样就是什么样,不能对数组做插入.修改.删除等操作.       1.存数据         NSArray *arr1 =[[NSArray alloc]initWithObjects:@"zhangSan",@"liSi",@"小…
话题从sunnyxx的<黑幕背后的Autorelease>开始 文章开头有个小例子 __weak id reference = nil;- (void)viewDidLoad { [super viewDidLoad]; NSString *str = [NSString stringWithFormat:@"sunnyxx"]; // str是一个autorelease对象,设置一个weak的引用来观察它 reference = str;}- (void)viewWill…
1. 字符串常量 NSString *s = @"test"; NSLog(@"s:%lx",[s retainCount]); //ffffffffffffffff(即UINT_MAX ( Maximum value an `unsigned int')) 因为"test"为字符串常量,系统不会收回,也不会对其作引用计数,即使我们对s如何retain或release. 2. stringWithFormat NSString *s = [NSS…
翻看该方法的参考文档,苹果对retainCount方法的描述如下: retainCount Do not use this method. (required) - (NSUInteger)retainCount Return Value The receiver’s reference count. Special Considerations This method is of no value in debugging memory management issues.Because an…