![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深入浅入object-c
文章平均质量分 90
zoudaikun517911508
这个作者很懒,什么都没留下…
展开
-
Objective-C语法之KVO的使用
简介:上篇我们讲到了KVC,这篇我们学习KVO,全名为:Key Value Observing,直译为:基于键值的观察者。那它有什么用呢?KVO主要用于视图交互方面,比如界面的某些数据变化了,界面的显示也跟着需要变化,那就要建立数据和界面的关联。ObjC中提供的KVO就是解决这种问题的。以下用显示页面观察学生的课程名称变化的例子来说明KVO的使用。学生类命名为:St转载 2014-04-06 18:22:34 · 387 阅读 · 0 评论 -
Objective-C语法之基本数据类型
本篇博客主要介绍基本数据类型的长度,基本数据类型在Oc的数组中如何时候,还有其他数据类型的相互转换等。为了演示基本数据类型的例子,我们新建一个iPhone项目类做例子1、新建项目为了方便,我们新建一个Single View Application 。输入项目名称 BaseTypeProduct Name:转载 2014-04-07 10:53:44 · 564 阅读 · 0 评论 -
Objective-C语法之NSDictionary和NSMutableDictionary
Java有Map,可以把数据以键值对的形式储存起来,取值的时候通过key就可以直接拿到对应的值,方便快捷。在Objective-C语言中,词典就是做这样的事情的,和NSArray一样,一个词典对象也能保存不同类型的值,词典也分别有不可变词典和可变的词典(NSDictionary与NSMutableDictionary),前者是线程安全的,后者不是 。1、不可变词典NSDicti转载 2014-04-07 10:24:49 · 467 阅读 · 0 评论 -
Objective-C语法之动态类型(isKindOfClass, isMemberOfClass,id)等
对象在运行时获取其类型的能力称为内省。内省可以有多种方法实现。判断对象类型-(BOOL) isKindOfClass: classObj判断是否是这个类或者这个类的子类的实例-(BOOL) isMemberOfClass: classObj 判断是否是这个类的实例ps:本篇新建的类主要用于熟悉本篇内容设计,未考虑内存管理因素。我们试试这两个方法的使用。1转载 2014-04-07 10:41:50 · 397 阅读 · 0 评论 -
Objective-C语法之异常处理
Objective-C的异常比较像Java的异常处理,也有@finally的处理,不管异常是否捕获都都要执行。异常处理捕获的语法:[cpp] view plaincopy@try { } @catch (NSException *exception) { } @f转载 2014-04-07 10:49:37 · 377 阅读 · 0 评论 -
Objective-C语法之NSSet和NSMutableSet
NSSet和NSMutableSet是无序的, 但是它保证数据的唯一性。当插入相同的数据时,不会有任何效果。从内部实现来说是hash表,所以可以常数时间内查找一个数据。1、NSSet的使用[NSSet setWithSet:(NSSet *)set]; 用另外一个set对象构造[NSSet setWithArray:(NSArray *)array];用数组构造转载 2014-04-07 10:22:57 · 431 阅读 · 0 评论 -
iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
1、UIGestureRecognizer介绍手势识别在iOS上非常重要,手势操作移动设备的重要特征,极大的增加了移动设备使用便捷性。iOS系统在3.2以后,为方便开发这使用一些常用的手势,提供了UIGestureRecognizer类。手势识别UIGestureRecognizer类是个抽象类,下面的子类是具体的手势,开发这可以直接使用这些手势识别。UITapGestur转载 2014-04-07 11:19:44 · 477 阅读 · 0 评论 -
Objective-C语法之NSArray和NSMutableArray
Objective-C的数组比C++,Java的数组强大在于,NSArray保存的对象可以是不同的对象。但只能保存对象,int ,char,double等基本数据类型不能直接保存,需要通过转换成对象才能加入数组。1、NSArray 不可变数组[array count] : 数组的长度。[array objectAtIndex 0]: 传入数组脚标的id 得到数据对象转载 2014-04-07 10:26:59 · 379 阅读 · 0 评论 -
Objective-C语法property详解
1、简介: property是Objective-C的关键词,与@synthesize配对使用,用来让编译好器自动生成与数据成员同名的方法声明。@synthesize则是用来生成对应声明方法的实现。1.1 property的语法格式:@property (参数1,参数2)类型名字;这里的参数,主要有以下三种:setter/getter方法(assign/转载 2014-04-07 10:20:00 · 406 阅读 · 0 评论 -
Objective-C语法之KVC的使用
除了一般的赋值和取值的方法,我们还可以用Key-Value-Coding(KVC)键值编码来访问你要存取的类的属性。下图来自苹果官网:如何使用KVC存取对象属性呢?看个示例1、使用KVC定义一个Student类,继承于NSObject。.h文件[cpp] view plaincopy转载 2014-04-06 18:23:53 · 423 阅读 · 0 评论 -
Objective-C语法之代码块(block)的使用
代码块本质上是和其他变量类似。不同的是,代码块存储的数据是一个函数体。使用代码块是,你可以像调用其他标准函数一样,传入参数数,并得到返回值。脱字符(^)是块的语法标记。按照我们熟悉的参数语法规约所定义的返回值以及块的主体(也就是可以执行的代码)。下图是如何把块变量赋值给一个变量的语法讲解:按照调用函数的方式调用块对象变量就可以了:int result = myB转载 2014-04-06 18:21:07 · 377 阅读 · 0 评论 -
Objective-C语法之Category的使用
无论一个类设计的如何完美,都不可避免的会遇到没有预测到的需求,那怎么扩展现有的类呢?当然,继承是个不错的选择。但是Objective-C提供了一种特别的方式来扩展类,叫Catagory,可以动态的为已经存在的类添加新的行为。这样可以保证类的原原来的基础上,较小的改动就可以增加需要的功能。使用Category对类进行扩展时,不需要访问其源代码,也不需要创建子类,这样我们可以扩展系统提供的类。Cate转载 2014-04-06 18:18:24 · 451 阅读 · 0 评论 -
Objective-C语法之字符串NSString
Objective-C里核心的处理字符串的类就是NSString和NSMutableString这两个类,这两个类完成了Objective-C中字符串大部分功能的处理。这两个类的最主要的区别是NSString创建赋值后不能动态修改长度和内容,除非给重新赋值。而NSMutableString类似与链表的,在创建赋值后可以进行修改长度,插入,删除等操作。注:以下代码运行环境是:XCode 4.转载 2014-04-07 10:52:00 · 435 阅读 · 0 评论