摘要:
打开Macintosh HD你会发现内中有四个文件夹分别有——应用程序(Applications)、系统(System)、用户(User)、资料库(Library)。四个文件夹中又分别各有若干数量的文件夹存在。1.Applications:这个当然就是存放各种软件的位置了。2.System:包含由Apple安装的系统软件。这此资源是系统正常运行所必须的,位于启动卷宗中 /System/Library/CFMSupport CFM, Code Fragment Manager, 等同旧Mac OS应用程序都会使用的共有程式库. 以确保Mac OS环境的一致性. 当中储存有一个在OS X中极... 阅读全文
摘要:
直接将项目中用到的对plist文件处理的部分拿出来://向草稿箱中写如数据- (void)writeToSendedList:(NSString *)message{ //沙盒中的目录 NSArray *storeFilePath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *doucumentsDirectiory = [storeFilePath objectAtIndex:0]; NSLog(@"doucumentsDirec... 阅读全文
摘要:
参考网站:http://marshal.easymorse.com/archives/3296在iOS中有一些基本的设计模式:delegationprotocolmodel-vew-controllertarget-actionnotificationdeclared properties下面分别介绍一下各个设计模式的用途。Delegation摘自:http://developer.apple.com/library/ios/#documentation/General/Conceptual/DevPedia-CocoaCore/Delegation.html这是Apple的权威解释。dele 阅读全文
摘要:
三条基本原则:1、当你使用 new、alloc 或 copy 创建对象时,对象的 count retain 到 1。你一定要负责把这个对象 release 或 autolease 掉。这样当它的生命周期结束时,它才能清空。2、当你使用其他方法获得一个对象时,你可以认为它已经 retain 了一个 count,并且 autolease 掉了。你不用考虑和它相关的清理问题。但是如果你想保留这个对象,那么你需要 retain 它,并且要确保之后你 release 了这个对象。3、如果你 retain 一个对象,你最终总是需要 release 或者 autolease 它。 阅读全文
摘要:
一、#import与#include#import不会引起交叉编译的问题。因为在Objective-C中会存在C/C++和Object-C混编的问题,如果用#include引入头文件,会导致交叉编译。二、#import<>与#import""在实际运用中都是某个框架里的.#import <Three20/Three20.h><>通常指向的是一个目录#import ""则直接是文件名。 阅读全文
摘要:
参考文章:http://www.cnblogs.com/ydhliphonedev/archive/2012/04/27/2473927.html ios提供了copy和mutablecopy方法,顾名思义,copy就是复制了一个imutable的对象,而mutablecopy就是复制了一个mutable的对象。以下将举几个例子来说明。1、系统的非容器类对象:这里指的是NSString、NSNumber等等一类的对象。NSString *string = @"origion";NSString *stringCopy = [string copy];NSMutableStr 阅读全文
摘要:
一、assign属性 当数据类型为int、float等原生类型时,可以使用assign,否则可能导致内存泄露。例如当使用malloc分配了一块内存,并把它的地址赋值给了指针a,后来如果希望指针b也共享这块内存,于是讲a赋值给(assgin)b。这时就用到了assgin,此时a和b指向同一块内存。但是现在问题出现了,当a不再需要这块内存时,能都直接释放呢?肯定是不能的,因为a并不知道b是否还在使用这块内存,如果a释放了,那么b在使用这块内存的时候引起程序crash掉。二、retain属性 retain属性就是为了解决上述问题而提出的,使用了引用计数(reference counting),还.. 阅读全文