摘要: NSMutableString可变字符串的主要的操作是创建、增加、删除、插入、替换 代码操作如下: 阅读全文
posted @ 2015-08-17 19:15 XYQ全哥 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 几种常见的用法为:字符串的创建、字符串的搜索、字符串的比较、字符串的转换用途一:字符串的创建 1 void ex1() 2 { 3 //1.常量字符串的对象 4 NSString *str1 = @"hello world"; 5 NSLog(@"str1 = %@",str... 阅读全文
posted @ 2015-08-17 19:11 XYQ全哥 阅读(288) 评论(0) 推荐(0) 编辑
摘要: Foundation框架NSString、NSMutableString、NSNumber(基本数据类型包装类)、NSValue(特殊类型包装类:指针、数组、结构体)、NSArray、NSMutableArray、NSDectionary、NSSet等等。一、不可变字符串NSString类、可变字符... 阅读全文
posted @ 2015-08-17 18:22 XYQ全哥 阅读(274) 评论(0) 推荐(0) 编辑
摘要: atomic和nonatomic的区别:atomic:设置成员变量的@property属性时,默认为atomic,提供多线程安全。因为多线程的缘故,所有的对象在操作成员变量时都是同步的,因此,为了防止一个对象在操作数据时还没有结束就被另一个对象抢走进行篡改,atomic为此提供了多线程安全机制,采用... 阅读全文
posted @ 2015-08-17 17:16 XYQ全哥 阅读(713) 评论(0) 推荐(0) 编辑
摘要: OC内部:可变对象和不可变对象的深(复制)拷贝问题思考: 不可变对象: 例如NSString对象,因为NSString对象是常量字符串,所以,不可以更改其内容,但是可以修改指向该字符串的指针指向。当对NSString对象做深拷贝时,如果是copy复制方式,其实就是浅复制,只是复制了同一个对象的指针; 阅读全文
posted @ 2015-08-15 21:07 XYQ全哥 阅读(1243) 评论(0) 推荐(0) 编辑
摘要: 三种文件导入的方式比较:类的前项声明@class、import、include:1、采用@class 类名的方式,它会告诉编译器有这么一个类,目前不需要知道它内部的实例变量和方法是如何定义的,后面会告诉你,现在你就可以直接使用它,节约程序编译时间;2、采用import方式,能避免重复导入同一类,它导... 阅读全文
posted @ 2015-08-15 11:02 XYQ全哥 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 对象的保留和所有权的释放:int main(int agrs,char *argv[]){ @autoreleasepool{ Person *person = [[Person alloc]initWithName:@“Tom"]; //retainCount=1 [pe... 阅读全文
posted @ 2015-08-14 19:46 XYQ全哥 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 深复制:复制对象时,如果对象中包含对象类型的实例变量,要对对象类型的实例变量也要做对象复制。新对象中的对象类型实例变量和旧对象中的对象类型实例变量指的是不同的对象。不管任何一方实例变量对对象做修改,都互相不影响对方所指向的对象的内容。 .h文件 .m文件 .m主函数 测试结果如下: 阅读全文
posted @ 2015-08-14 17:00 XYQ全哥 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 浅复制:复制对象时,如果对象中包含对象类型的实例变量,只是复制指针。新对象中的对象类型实例变量和旧对象中的对象类型实例变量指的是同一个对象。任何一方实例变量对对象做修改,另一方实例变量指向的该对象也就改变了。 .h声明文件 .m实现文件 main.m主函数 测试结果如下: 阅读全文
posted @ 2015-08-14 16:52 XYQ全哥 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 对象之间的循环引用 两个对象A、B,有可能会出现一种特殊的情况:A中包含B的实例变量;B中又包含A的实例变量,如果两个实例变量都是强引用(A有B实例变量的所有权,B也有A的实例变量的所有权),然后再两个对象销毁时,会出现A、B都不能正常销毁的情况。 类A: // A.h // 02-循环引用 // 阅读全文
posted @ 2015-08-14 16:37 XYQ全哥 阅读(768) 评论(0) 推荐(0) 编辑