06 2013 档案
摘要:OC笔记心得存档---深浅复制2013-03-18 14:38:50|分类:ios|字号订阅读前小提示:对于深浅复制有一个清楚的了解,对于学习oc的朋友来说,至关重要。那么首先,我们要明白深浅复制是如何定义的呢。这里为了便于朋友们理解,定义如下。浅 复制:在复制操作时,对于被复制的对象的每一层复制都是指针复制。深 复制:在复制操作时,对于被复制的对象至少有一层复制是对象复制。完全复制:在复制操作时,对于被复制的对象的每一层复制都是对象复制。注:1、在复制操作时,对于对象有n层是对象复制,我们可称作n级深复制,此处n应大于等于1。2、对于完全复制如何实现(目前通用的办法是:迭代法和归档),这里后
阅读全文
摘要:(1)void(^BarkCallBack) (Dog*thisDog,intcount);//定义一个参数是Dog和int返回值是void类型的block变量:BarkCallBack(2)void(^BarkCallBack) (Dog*thisDog,intcount) = ^(Dog*thisDog,intcount){ NSLog(@"dog ID is %i barkCount is %i",[thisDog ID],count);}(3) typedefvoid(^BarkCallBack) (Dog*thisDog,intcount);//声明一个参数是Do
阅读全文
摘要:首先,从copy开始说,简而言之,copy的目的就是生成一个新的实例,然后把其成员都按原实例赋值。对于非指针型的成员,比如BOOL, int, float,这样的赋值可以直接进行。但是对于指针型的数据,比如Objc中用到的对象,就有Deep Copy和Shallow Copy的区别——这个和在C++中的基本上是一样的:是生成新的成员对象,或是指向同一成员对象。了解了这点以后,再看看Copy在 Objetive-C中的实现方式。如果要调用一个对象的copy方法,这个对象必须遵循NSCopying的协议。这个协议中规定了一个方法:- (id)copyWithZone:(NSZone *)zone;
阅读全文
摘要:http://www.objc.io/ 介绍IOS框架的网站破船之家的博客 http://beyondvincent.com/ IOS 7 官方设计文档 https://developer.apple.com/library/prerelease/ios/documentation/UserExperience/Conceptual/MobileHIG/index.html官方原版 xcode5 介绍 https://developer.apple.com/library/prerelease/ios/documentation/DeveloperTools/Conceptual/Wha...
阅读全文
摘要:预处理就是在进行编译的第一遍词法扫描和语法分析之前所作的工作。说白了,就是对源文件进行编译前,先对预处理部分进行处理,然后对处理后的代码进行编译。这样做的好处是,经过处理后的代码,将会变的很精短。 关于预处理命令中的文件包含(#i nclude),宏定义(#define),书上已经有了详细的说明,在这里就不详述了。这里主要是对条件编译(#ifdef,#else,#endif,#if等)进行说明。以下分3种情况:1:情况1:#ifdef _XXXX...程序段1...#else...程序段2...#endif 这表明如果标识符_XXXX已被#define命令定义过则对程序段1进行编译;否则对程序
阅读全文
摘要://-------------------获取设备大小-------------------------//NavBar高度#defineNavigationBar_HEIGHT44//获取屏幕宽度、高度#defineSCREEN_WIDTH([UIScreenmainScreen].bounds.size.width)#defineSCREEN_HEIGHT([UIScreenmainScreen].bounds.size.height)//-------------------获取设备大小-------------------------//-------------------打印日志-
阅读全文
摘要:[[NSNotificationCenterdefaultCenter] addObserver:selfselector:@selector(keyboardWasChange:) name:UIKeyboardDidChangeFrameNotificationobject:nil];- (void)keyboardWasChange:(NSNotification *)aNotification { NSDictionary *info = [aNotification userInfo]; CGSize kbSize = [[info objectForKey:UIKeyboardFr
阅读全文
摘要:首先:宏定义//判断是否是iphone5#define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640,1136), [[UIScreen mainScreen] currentMode].size) : NO)//监听键盘的宏定义#define _UIKeyboardFrameEndUserInfoKey(&UIKeyboardFrameEndUserInfoKey != NULL ? UIKeyboardFrameEndU
阅读全文

浙公网安备 33010602011771号