随笔分类 -  OC加强

摘要:SEL消息机制工作原理是什么引用下面文章:我们在之前有提到,一个类就像一个 C 结构.NSObject 声明了一个成员变量: isa. 由于 NSObject 是所有类的根类,所以所有的对象都会有一个 isa 的成员变量[公共继承].而该 isa 变量指向该对象的类(图3.15)[类在Objecti... 阅读全文
posted @ 2014-12-07 23:23 codeTao 阅读(563) 评论(0) 推荐(0)
摘要:SEL 类成员方法的指针可以理解 @selector()就是取类方法的编号,他的行为基本可以等同C语言的中函数指针,只不过C语言中,可以把函数名直接赋给一个函数指针,而Object-C的类不能直接应用函数指针,这样只能做一个@selector语法来取.它的结果是一个SEL类型。这个类型本质是类方法的... 阅读全文
posted @ 2014-12-07 23:22 codeTao 阅读(666) 评论(0) 推荐(0)
摘要:浅拷贝浅拷贝就是对内存地址的复制,让目标对象指针和源对象指向同一片内存空间。如:char*str=(char*)malloc(100);char*str2=str;浅拷贝只是对对象的简单拷贝,让几个对象共用一片内存,当内存销毁的时候,指向这片内存的几个指针需要重新定义才可以使用,要不然会成为野指针。... 阅读全文
posted @ 2014-11-29 19:43 codeTao 阅读(194) 评论(0) 推荐(0)
摘要:在使用Objective-C语言进行了一段时间的iOS开发之后,发现自己的语言基础相对薄弱,于是开始弥补自己的短处。我发现在用过一种语言之后,再回过头来看它的很多原理会发现有更加深刻的理解。下面就对一直困惑我的属性和成员变量的用法和关系问题进行浅析,由于水平有限可能会有错误,请看过文章的人多多指正。... 阅读全文
posted @ 2014-11-28 23:59 codeTao 阅读(1135) 评论(0) 推荐(0)
摘要:http://blog.csdn.net/felix9/article/details/9619313 在实际开发中,发现使用Block有着比delegate和notification更简洁的优势。于是在目前的项目中大量的使用block。 在我的头文件我是这样声明使用block的。[plain]... 阅读全文
posted @ 2014-10-20 20:01 codeTao 阅读(213) 评论(0) 推荐(0)
摘要:一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式... 阅读全文
posted @ 2014-09-02 16:15 codeTao 阅读(548499) 评论(21) 推荐(46)
摘要:Objective-C 支持的类型有两种:基本类型 和 类。基本类型,如同C 语言中的 int 类型一样,拿来就可以直接用。 而类在使用时,必须先创建一个对象,再为对象分配空间,接着做初始化和赋值。 类的初始化,需用类自身的方法 (类方法)。 代码中所创建的对象,不用后,还得记着释放。做了这么多铺... 阅读全文
posted @ 2014-09-01 23:05 codeTao 阅读(231) 评论(0) 推荐(0)
摘要:copy:建立一个索引计数为1的对象,然后释放旧对象 对NSString对NSString 它指出,在赋值时使用传入值的一份拷贝。拷贝工作由copy方法执行,此属性只对那些实行了NSCopying协议的对象类型有效。更深入的讨论,请参考“复制”部分。retain:释放旧的对象,将旧对象的值赋予输入对... 阅读全文
posted @ 2014-09-01 22:30 codeTao 阅读(185) 评论(0) 推荐(0)
摘要:在本教程的第一部分中,你学会了面向对象设计的基本概念:对象,继承以及模型-视图-控制器(MVC)模式。你初步完成了一个叫做Vehicles的程序,它帮助你更好的理解所学的这些概念。在这第二部分中,你将学习多态性以及其它一些面向对象编程的关键概念:类工厂方法和单例。如果你已经完成了本教程的前半部分,那... 阅读全文
posted @ 2014-09-01 20:07 codeTao 阅读(317) 评论(0) 推荐(0)
摘要:在使用 Cocoa 和 Objective-C 进行编程的时候,最让人感到困惑的就是面向对象编程。几乎所有的现代编程语言都是面向对象的,学习面向对象的概念和模式对你读写代码都会带来很大的帮助。UITableView和UIScrollView或者NSString和NSMutableString之间的关... 阅读全文
posted @ 2014-09-01 18:45 codeTao 阅读(487) 评论(0) 推荐(0)
摘要:ios4 设备上最好就不要使用 ARC。。。strong,weak 用来修饰属性。strong 用来修饰强引用的属性;@property (strong) SomeClass * aObject;对应原来的@property (retain) SomeClass * aObject; 和 @prop... 阅读全文
posted @ 2014-08-31 18:22 codeTao 阅读(855) 评论(0) 推荐(0)
摘要:Objective-C 中核心处理字符串的类是 NSString 与 NSMutableString ,这两个类最大的区别就是NSString 创建赋值以后该字符串的内容与长度不能在动态的更改,除非重新给这个字符串赋值。而NSMutableString 创建赋值以后可以动态在该字符串上更改内容与长度... 阅读全文
posted @ 2014-08-23 10:45 codeTao 阅读(190) 评论(0) 推荐(0)
摘要:答: init中调用super的init方法来初始化自己所包含有的父类信息1.内存分配 内存应该在[Class alloc]的时候就已经分配了,大小和类型应该由对应的Class来决定。而init方法只是进行对象内部各种变量的初始化,同时将retain count加一,表示目前这块内存空间有人在... 阅读全文
posted @ 2014-08-21 10:13 codeTao 阅读(563) 评论(0) 推荐(0)
摘要:Objective-C 中核心处理字符串的类是 NSString 与 NSMutableString ,这两个类最大的区别就是NSString 创建赋值以后该字符串的内容与长度不能在动态的更改,除非重新给这个字符串赋值。而NSMutableString 创建赋值以后可以动态在该字符串上更改内容与... 阅读全文
posted @ 2014-08-15 18:02 codeTao 阅读(279) 评论(0) 推荐(0)
摘要:bundle是一个目录,其中包含了程序会使用到的资源. 这些资源包含了如图像,声音,编译好的代码,nib文件(用户也会把bundle称为plug-in). 对应bundle,cocoa提供了类NSBundle.我们的程序是一个bundle. 在Finder中,一个应用程序看上去和其他文件没有什么区别... 阅读全文
posted @ 2014-08-15 14:23 codeTao 阅读(191) 评论(0) 推荐(0)
摘要:Objective-C的推荐init方法写法如下:- (id) init{ if(self = [super init]) { //为子类增加属性进行初始化 } return self;}返回值为id类型,id类型可以赋值给其他类型指针,其他类型指针也可以赋值给... 阅读全文
posted @ 2014-08-11 23:42 codeTao 阅读(213) 评论(0) 推荐(0)
摘要:[plain]view plaincopyprint?- (id)init {self = [super init]; // Call a designated initializer here.if (self != nil) {// 省略其他细节}return self;}容易让人困惑的地方在于... 阅读全文
posted @ 2014-08-11 23:39 codeTao 阅读(254) 评论(0) 推荐(0)
摘要:1.NSLog回顾众所周知,我们可以用NSLog函数来输出字符串和一些基本数据类1 int age = 11;2 NSLog(@"age is %i", age);* 第2行的%i代表会输出一个整型数据,右边的变量age会代替%i的位置进行输出* 输出结果:2013-04-19 21:43:47.6... 阅读全文
posted @ 2014-08-10 16:07 codeTao 阅读(1668) 评论(0) 推荐(0)