Objective-C学习之路
文章平均质量分 78
zwcshy
只要出发,就会到达。
展开
-
6、黑马程序员-OC面向对象—多态
一、基本概念多态在代码中的体现,即为多种形态,必须要有继承,没有继承就没有多态。在使用多态是,会进行动态检测,以调用真实的对象方法。多态在代码中的体现即父类指针指向子类对象。Animal类的声明 Animal类的实现 Dog类继承自Animal类 Dog类的实现 测试程序: 二、使用注意代码分析:Dog *d=[[Animal原创 2014-11-30 13:13:57 · 334 阅读 · 0 评论 -
18、黑马程序员-OC内存管理
一、基本原理1、什么是内存管理移动设备的内存极其有限,每个app所能占用的内存是有限制的当app所占用的内存较多时,系统会发出内存警告,这时得回收一些不需要再使用的内存空间。比如回收一些不需要使用的对象、变量等管理范围:任何继承了NSObject的对象,对其他基本数据类型(int、char、float、double、struct、enum等)无效2、对象的基本结构原创 2014-11-30 15:20:45 · 451 阅读 · 0 评论 -
13、黑马程序员-OC语言description方法和sel
OC语言description方法和sel一、description方法Description方法包括类方法和对象方法。(NSObject类所包含)(一)基本知识-description(对象方法)使用NSLog和@%输出某个对象时,会调用对象的description方法,并拿到返回值进行输出。+description(类方法)使用NSLog和@%输出某个对象时,会调用原创 2014-11-30 14:30:38 · 483 阅读 · 0 评论 -
11、黑马程序员-OC语言构造方法
一、构造方法(一)构造方法的调用完整的创建一个可用的对象:Person *p=[Person new];New方法的内部会分别调用两个方法来完成2件事情,1)使用alloc方法来分配存储空间(返回分配的对象);2)使用init方法来对对象进行初始化。可以把new方法拆开如下:1.调用类方法+alloc分配存储空间,返回未经初始化的对象Person *p1=[person原创 2014-11-30 14:18:10 · 468 阅读 · 0 评论 -
17、黑马程序员-Foundation框架中一些常用的类
一、Foundation框架中一些常用的类字符串型:NSString:不可变字符串NSMutableString:可变字符串基本使用NSMutableString *s1 = [NSMutableString stringWithFormat:@"name is %@",@"周文超"];// 追加[s1 appendString:@",age is 23"];NSRange原创 2014-11-30 15:02:50 · 405 阅读 · 0 评论 -
23、内存管理完善
一、基本原理(一)为什么要进行内存管理。由于移动设备的内存极其有限,所以每个APP所占的内存也是有限制的,当app所占用的内存较多时,系统就会发出内存警告,这时需要回收一些不需要再继续使用的内存空间,比如回收一些不再使用的对象和变量等。管理范围:任何继承NSObject的对象,对其他的基本数据类型无效。本质原因是因为对象和其他数据类型在系统中的存储空间不一样,其它局部变量主要存放于原创 2014-12-15 21:07:10 · 424 阅读 · 0 评论 -
19、iOS下单例模式实现
单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这里主要介绍下在arc下,利用gcd实现单例。第一步:声明一个静态实例static SoundTool *_instance;第二步:重写初始化方法+ (id)allocWithZone:(struct _NSZone *)zone在对象初始化分配内存的时候都会调用这个方法,重写该方原创 2014-12-05 11:15:01 · 393 阅读 · 0 评论 -
21、objective-c数组的四种遍历方法总结
objective-c 语言 数组遍历的4种方式:1、普通for循环;2、快速for循环;3、特性block方法;4、枚举方法。 Blog类:#import "Blog.h"@implementation Blog +(Blog *)blog{ Blog * blog = [[Blog alloc] init]; return blog;} -(Blog *转载 2014-12-05 11:23:49 · 497 阅读 · 0 评论 -
4、黑马程序员-OC面向对象—封装
一、面向对象和封装面向对象的三大特性:封装(成员变量)、继承和多态在OC语言中,使用@interface和@implementation来处理类。 @interface就好像暴露在外面的时钟表面,像外界提供展示以及接口。@implementation就好像隐藏在时钟内部的构造实现,把具体的实现封装了起来。 二、Set方法在开发过程中,考虑到安全性要求,我们一般不在成员原创 2014-11-30 12:49:04 · 422 阅读 · 0 评论 -
20、Objective C中数组排序几种情况的总结
总结OC中数组排序3种方法:sortedArrayUsingSelector:;sortedArrayUsingComparator:;sortedArrayUsingDescriptors: 大体上,OC中常用的数组排序有以下几种方法:sortedArrayUsingSelector:;sortedArrayUsingComparator:;sortedA转载 2014-12-05 11:17:47 · 327 阅读 · 0 评论 -
1、黑马程序员-OC语言前期准备
OC语言前期准备一、OC简介Oc语言在c语言的基础上,增加了一层最小的面向对象语法,完全兼容C语言,在OC代码中,可以混用c,甚至是c++代码。可以使用OC开发mac osx平台和ios平台的应用程序。拓展名:c语言-.c OC语言.-m 兼容C++.-mm注:其实c语言和oc甚至任何一门语言都只是我们为了实现一些功能,达到一些效果而采用的工具,抛开语法的差别外,我想最重要原创 2014-11-30 11:28:26 · 410 阅读 · 0 评论 -
3、黑马程序员-OC方法和文件编译
OC方法和文件编译一、OC方法(一)对象方法(1)对象方法以-开头如 -(void)xx;(2)对象方法只能又对象来调用(3)对象方法中可以访问当前对象的成员变量(4)调用格式 [对象名 对象方法名];(5)设计一个学生类和狗类,练习对象方法的使用。学生类的声明: 学生类的实现: 狗类的声明: 狗类的实现: 主程序:原创 2014-11-30 11:37:14 · 425 阅读 · 0 评论 -
5、黑马程序员-OC面向对象—继承
OC面向对象—继承一、基本概念程序的世界和人类的“对象”世界在思想上是没有设么区别的,富二代继承了父母,自然就拥有了父母拥有的所有资源,子类继承了父类同样就拥有了父类所有的方法和属性(成员变量)。 在这里动物是猫类和狗类的父类,黑猫和白猫类是猫类的子类。继承的好处:(1)抽取出了重复的代码(2)建立了类和类之间的联系 (3)子类可以拥有父类中的所有成员变量和方法注意点 (原创 2014-11-30 13:06:21 · 449 阅读 · 0 评论 -
7、黑马程序员- NSString的基本使用
四、字符串补充内容一、基本使用#import /* 1、注释之间加上空格 // length方法算的是字数 int size = [name1 length]; 2、等号两边留空格 int size = [name1 length]; 3、命名规范如果返回值是一个bool类型,方法名一般以is开头 ,如isrich(); */int main(int argc,原创 2014-11-30 13:18:31 · 401 阅读 · 0 评论 -
16、黑马程序员-foundation框架—结构体
一、基本知识Foundation—基础框架。框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础。如果要想使用foundation框架中的数据类型,那么包含它的主头文件就可以了。即#import补充:core foundation框架相对底层,里面的代码几乎都是c语言的,而foundation中是OC的。 二、常用的结构体介绍及简单使用常用原创 2014-11-30 14:51:33 · 431 阅读 · 0 评论 -
12、黑马程序员-OC类的深入和分类
一、分类(一)分类的基本知识 概念:Category 分类是OC特有的语言,依赖于类。分类的作用:在不改变原来的类内容的基础上,为类增加一些方法。添加一个分类:文件结构图: 在分类中添加一个方法 Study方法的实现 测试程序: (二)分类的使用注意(1)分类只能增加方法(包括类方法和对象方法),不能增加成员变量(2)在分类方法原创 2014-11-30 14:21:55 · 481 阅读 · 0 评论 -
10、黑马程序员-OC语言@property @synthesize和id
一、@property @synthesize关键字注意:这两个关键字是编译器特性,让xcode可以自动生成getter和setter的声明和实现。(一)@property 关键字@property 关键字可以自动生成某个成员变量的setter和getter方法的声明@property int age;编译时遇到这一行,则自动扩展成下面两句:- (void)setAge:(原创 2014-11-30 14:08:22 · 364 阅读 · 0 评论 -
9、黑马程序员-OC点语法和变量的作用域
一、点语法(一)认识点语法声明一个Person类:#import @interface Person : NSObject{ int _age;//默认为@protected}- (void)setAge:(int)age;- (int)age;@endPerson类的实现:#import "Person.h"@implementation Pers原创 2014-11-30 14:00:31 · 446 阅读 · 0 评论 -
14、黑马程序员-OC语言block
(一)简介BLOCK是什么?苹果推荐的类型,效率高,在运行中保存代码。用来封装和保存代码,有点像函数,BLOCK可以在任何时候执行。BOLCK和函数的相似性:(1)可以保存代码(2)有返回值(3)有形参(4)调用方式一样。标识符 ^(二)基本使用(1)定义BLOCK变量Int (^SumBlock)(int,int);//有参数,返回值类型为intVoid (^原创 2014-11-30 14:34:51 · 389 阅读 · 0 评论 -
15、黑马程序员-OC Protocol(协议)
(一)简介1.Protocol:就一个用途,用来声明一大堆的方法(不能声明成员变量),不能写实现。2.只要某个类遵守了这个协议,就拥有了这个协议中的所有方法声明。3.只要父类遵守了某个协议,那么子类也遵守。4.Protocol声明的方法可以让任何类去实现,protocol就是协议。5.OC不能继承多个类(单继承)但是能够遵守多个协议。继承(:),遵守协议()6.基协议:是基原创 2014-11-30 14:38:51 · 546 阅读 · 0 评论 -
2、黑马程序员-OC语言基础知识
OC语言基础知识一、面向对象OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能的类。术语:OO面向对象、OOP面向对象编程 二、类(一)关于类类的设计只关注三个东西:类名、属性和方法注意:一般名词都是类,拥有相同属性和行为的对象都可以抽象为一个类,类原创 2014-11-30 11:34:40 · 482 阅读 · 0 评论 -
8、黑马程序员-面向对象的综合练习
一、设计一个类Point2D,用来表示二维平面中某个点1> 属性* double x* double y2> 方法* 属性相应的set和get方法* 设计一个对象方法同时设置x和y* 设计一个对象方法计算跟其他点的距离* 设计一个类方法计算两个点之间的距离3> 提示* C语言的math.h中有个函数:double pow(double n, doub原创 2014-11-30 13:37:49 · 461 阅读 · 0 评论 -
22、复合方法
复合遵循一个合成复用原则,又称为组合或者聚合复用原则。该原则的内容是:尽量使用对象组合,而不是继承来达到复用的目的。用聚合可以使系统更加灵活,类与类之间的耦合度降低。在objective-c中,复合是指将多个组件组合在一起,配合使用,从而得到一个完整的作品。严格的说,只有对象之间的组合才是复合。类中的基本数据和结构型对象不算复合。 继承和复合,是类与类之间两种重要的关系。接下来,我们就借用书转载 2014-12-05 11:38:33 · 447 阅读 · 0 评论