摘要: copy 和 retain 的区别copy: 建立一个索引计数为1的对象,然后释放旧对象retain:释放旧的对象,将旧对象的值赋予输入对象,再提高输入对象的索引计数为1那上面的是什么该死的意思呢?Copy其实是建立了一个相同的对象,而retain不是:比如一个NSString对象,地址为0×1111,内容为@”STR”Copy到另外一个NSString之后,地址为0×2222,内容相同,新的对象retain为1,旧有对象没有变化retain到另外一个NSString之后,地址相同(建立一个指针,指针拷贝),内容当然相同,这个对象的retain值+1也就是说,retain是 阅读全文
posted @ 2011-05-31 14:29 Fannic 阅读(1350) 评论(2) 推荐(1) 编辑
摘要: (转载请标明出处:http://ylucy.cnblogs.com)精简到最简,其实就如下几行: NSString *moviePath = [[NSBundle mainBundle] pathForResource:@"w-cloudy-day-02-iphone" ofType:@"m4v"]; moviePlayerViewController = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL fileURLWithPath:moviePath]]; moviePla 阅读全文
posted @ 2011-05-27 10:54 Fannic 阅读(869) 评论(0) 推荐(1) 编辑
摘要: 开机, 启动时按“cmd+S”。这时,你会进入Single User Model,出现像DOS一样的提示符 #root>。请在#root>下 输入 (注意空格, 大小写) fsck -y mount -uaw / rm /var/db/.AppleSetupDone reboot 紧接着,苹果电脑会重启 ,并且在开机后出现新装机时的欢迎界面。你需要像第一次打开苹果电脑一样, 重新建立一个新的管理员账号(数据会保留)。当开机完毕之后,在新的管理员下请打开 系统预制 - 账户。打开最下面的锁, 当跳出密码框时, 输入新的管理员帐号密码。这时,你会看到出现至少两个账号,包括了新的管理员的 阅读全文
posted @ 2011-05-24 11:25 Fannic 阅读(25456) 评论(1) 推荐(1) 编辑
摘要: (转自 http://woshao.com/article/f91898b24a1211e097d3000c2959fd2a/) 在ObjC中,什么是深浅拷贝? 深浅拷贝分别指深拷贝和浅拷贝,即mutableCopy和copy方法。 copy复制一个不可变对象,而mutableCopy复制一个mutable可变对象。 什么时候用到深浅拷贝?下面举几个例子说明。 非容器类对象 如NSString,NSNumber等一类对象 示例1: td style="padding: 5px; text-align: center; color: #888888; background-color: #eeeeee; border-right: 1 阅读全文
posted @ 2011-05-18 18:50 Fannic 阅读(2879) 评论(0) 推荐(2) 编辑
摘要: (Fannic原创,转载请注明出处 http://ylucy.cnblogs.com) NSXMLParser 实现的是sax方法解析xml文件。 dom实现的原理是把整个xml文档一次性读出,放在一个树型结构里。在需要的时候,查找特定节点,然后对节点进行读或写。他的主要优势是实现简单,读写平衡;缺点是比较占内存,因为他要把整个xml文档都读入内存,文件越大,这种缺点就越明显。 sax的实现方法和dom不同。他只在xml文档中查找特定条件的内容,并且只提取需要的内容。这样做占用内存小,灵活,正好满足我们的需求。他的缺点就是写,有些资料介绍了写入的方法,但是我感觉这对本例没有必要。 运行NSXMLParser涉及设置、运行和响应结果。 1)启动NSXMLParser 要使用NSXMLParser要先创建它,设置各种属性,主要用到以下几个方法: initWithContentsOfURL 通过NSURL创建解析器 initWithData 阅读全文
posted @ 2011-05-18 15:58 Fannic 阅读(6677) 评论(0) 推荐(0) 编辑
摘要: Fannic原创 (转载请注明出处 http://ylucy.cnblogs.com)URLRequest的使用实例// 设置urlNSURL * url = [NSURL URLWithString:@"http://www.stackoverflow.com"];//设置Request//所构建的NSURLRequest具有一个依赖于缓存响应的特定策略,cachePolicy取得策略,timeoutInterval取得超时值NSURLRequest * request = [NSURLRequest requestWithURL:url cachePolicy:NSUR 阅读全文
posted @ 2011-05-18 14:46 Fannic 阅读(8831) 评论(0) 推荐(0) 编辑
摘要: 原文作者Andrew Huang <bluedrum@163.com> 转载请注明作者 @selector()基本可以等同C语言的中函数指针,只不过C语言中,可以把函数名直接赋给一个函数指针,而Object-C的类不能直接应用函数指针,这样只能做一个@selector语法来取. 它的结果是一个SEL类型。这个类型本质是类方法的编号(函数地址)?因此我们有如下代码。一.取得selector值.C函数指针 int add(int val) { return val+1; } int (* c_func)(int val); //定义一个函数指针变量 c_func = add ; //把 阅读全文
posted @ 2011-05-18 12:12 Fannic 阅读(5574) 评论(0) 推荐(1) 编辑
摘要: 呵呵,策划、编码、美工、音效、测试、发布一个人搞定,光杆司令。主要是练练手感受一下整个流程,最后的发布还是很麻烦的,等下一个应用完成后写个教程记录一下。有图有真相,先上图: 阅读全文
posted @ 2011-05-04 23:18 Fannic 阅读(1064) 评论(5) 推荐(2) 编辑
摘要: 下段代码的运行结果:main(){ int a[5]={1,2,3,4,5}; int *ptr=(int *)(&a+1); printf("%d,%d",*(a+1),*(ptr-1));}答:2,5 *(a+1)就是a[1],*(ptr-1)就是a[4],执行结果是2,5 &a+1不是首地址+1,系统会认为加一个a数组的偏移,是偏移了一个数组的大小(本例是5个int) int *ptr=(int *)(&a+1); 则ptr实际是&(a[5]),也就是a+5原因如下: &a是数组指针,其类型为 int (*)[5]; 而指针加1 阅读全文
posted @ 2011-05-03 15:40 Fannic 阅读(1768) 评论(2) 推荐(2) 编辑
摘要: 可能iphone开发面试会碰到,个人感觉比较重要,呵呵!特整理下来。欢迎大家不断补充1、object-c与C++的差异对于同样支持面向对象的 C++来说,跟 ObjC 存在的差异将远远大于 C 语言。C++具备很 多 ObjC 没有的特性,例如多重继承、命名空间、运算符重载、模板、类变量、抽象类、STL 等,但是不用太过担心,ObjC 中都有相关的特性和技术用于替代或者模拟这些特性。C++与 ObjC 最大的区别在于分配方法的机制不同,C++是基于虚拟表机制确定虚函数调 用什么代码,而 ObjC 使用运行时,函数进入各种类结构中查找相应的代码以供调用。这么一 比,很明显 C++的效率要高的多, 阅读全文
posted @ 2011-05-02 10:57 Fannic 阅读(582) 评论(0) 推荐(1) 编辑