
objective-c基础语法
文章平均质量分 61
水超
愚公移山的坚持,最后的功德圆满
展开
-
KVC
什么是KVCKVC指的就是NSKeyValueCoding非正式协议KVC是一种间接地接受访问对象的属性机制这种间接表现在通过字符串来标示属性,而不是通过调用来存取方法或直接地访问实例变量的方式。KVC机制不仅支持对象,还支持标量和结构体类型,这些非对象的类型会被自动的装箱和开箱Key & Key Path键(Key)是一个字符串用来标识对象里面的一个指定的属性。一般一个键对应对象的存取方式或实例变原创 2015-07-21 19:59:48 · 694 阅读 · 0 评论 -
代码块(Block)
代码块对象简称”代码块”,是c语言中函数的扩展。实际上是由c语言实现的,所以在各种c作为基础的语言内都是有效的:包括objective-c,c++,objective-c。代码块本质上和其他变量类似,不同的是,代码块存储的数据是一个函数体,使用代码块时,可以像调用其他标准函数一样,传入参数,并得到返回。代码块的语法格式:< returntype > (^blockname) (list of arg原创 2015-06-27 20:46:21 · 879 阅读 · 0 评论 -
初始化-指定初始化
对象分配内存+(id) alloc;对象的诞生过程,主要是从操作系统获得一块足够大的内存,以存放该类的全部实例变量,并将其指定为存放内存对象的实力变量的位置。alloc方法同时将这块内存全部设置为0。结果是:BOOL变量初始化为NO,所有的int类型变量为0,float变量为0.0,所有的指针为nil.初始化对象objective-c中有两种创建对象的不同方法1.[类名 new];2.[[类名原创 2015-06-28 20:57:54 · 623 阅读 · 0 评论 -
正式协议
协议protocol在objective-c中使用@protocol来定义一组方法规范,实现此协议的类必须实现对应的方法。就跟java、c#中的接口本身就是对象行为描述的协议范围类似,只是在oc中interface关键字用于定义类的声明了。假设定义了一个动物的协议AnimalDelegate,人员Person这个类需要实现这个协议,代码如下:AnimalDelegate.h(声明协议的头文件)@p原创 2015-06-26 20:40:12 · 587 阅读 · 0 评论 -
类的三大特性之-----封装
——–对于新手来说,封装听起来是不是就好像打包的意思呢?的确,当初我刚刚接触面向对象语言的时候,记得第一次听到封装一词,我就在琢磨,封装?好像都是一些货物需要打包装箱,这代码为什么要封装呢,当时就懵了!不过还好,由于老师耐心的讲解,终于化开了我的疑虑,哈哈。封装: 是把过程和数据包围起来,对数据的访问只能通过已定义的接口。当然还不止这些,封装主要是使用方法将类的数据隐藏起来,控制用户对类的修改和访原创 2015-06-10 21:09:17 · 644 阅读 · 0 评论 -
Foundation框架基础知识
1.常用数据类型:(1).NSRrange 创建范围结构体结构体: typedef struct _NSRange{ NSUInteger location; NSUInteger length; }NSRange;NSMakeRange函数: NS_INLINE NSRange NSMakeRange(NSUI原创 2015-06-11 20:39:50 · 535 阅读 · 0 评论 -
iOS类别和扩展(category和extension)
类别是一种为现有的类添加方法的方式。利用Objective-c的动态运行时分配机制,可以为现有的类添加新方法,这种现有的类添加新方法的方式称为catagory,他可以为任何类添加新的方法,包括哪些没有源代码的类。创建类别1.声明类别 @interface NSString(NumberConvenience) - (NSNumber *)lengthAsNumber; @原创 2015-06-25 21:39:39 · 493 阅读 · 0 评论 -
objective-c集合类
一.集合类NSArray(不可变数组)与NSMutableArray(可变数组)1.NSSArray与c语言相比,Foundation数组的优点:1>不需要检查索引是否有效;2>长度不需要编码。NSArray是一个Cocoa类,用来存储对象的有序列表只能用来存储oc的对象,不能存储一些像c语言中的基本数据类型,如int,float,enum,struct不能在NSArray中存储nil.创原创 2015-06-13 14:33:40 · 571 阅读 · 0 评论 -
谓词
谓词谓词是基于路径的,主要的功能是用来查询和过滤谓词通常用到的正则表达式1.字符类型. 任意字符[] 可以在字符串中限定字符的范围\d [0-9] 数字\D [^0-9] 非数字\s 所有不可见字符(空格、tab)\S 所有可见字符\w [0-9a-zA-Z_] 单词(数字、字母、下划线)\W [^0-9a-zA-Z] 非单词2.数量限定? 前面的一个字符或者()至多出现1次原创 2015-07-23 20:34:56 · 1003 阅读 · 0 评论