- 博客(48)
- 资源 (3)
- 收藏
- 关注
转载 iOS求职之OC面试题
1、Objective-C的类可以多重继承么?可以采用多个协议么?答:不可以多重继承,可以采用多个协议。2、#import和#include的区别是什么?#import#import能避免头文件被重复包含的问题:1) 一般来说,导入objective c的头文件时用#import,包含c/c++头文件时用#include。使用include要注意重复引用的问
2014-11-06 21:12:24 604
原创 Foundation中的NSMutableString与NSString
Objective-C 中核心处理字符串的类是 NSString 与 NSMutableString ,这两个类最大的区别就是NSString 创建赋值以后该字符串的内容与长度不能在动态的更改,除非重新给这个字符串赋值。而NSMutableString 创建赋值以
2014-11-04 00:45:12 650
原创 Foundation中的NSPoint/NSSize/NSRect
Objective-C 中常用的结构体 NSRange,NSPoint,NSSize(CGSize),NSRect,都是结构体类型。一、NSPoint的原型:struct CGPoint { CGFloat x; //NSPoint的本质就是结构体,而且里面是两个变量,来表示坐标xy CGFloat y; };NSPoint基本用法//NSPo
2014-11-04 00:34:42 491
原创 Foundation中的NSRange
一、NSRange在Xcode中的的定义:typedef struct _NSRange{ NSUInteger location; //结构体变量 location位置 NSUInteger length; // 结构体变量length 表长度} NSRange;显而易见,NSRange是一个结构体,其中location是一个以0为开始的index,length是表
2014-11-04 00:17:14 361
原创 Foundation中的NSDate
NSDate对象用来表示一个具体的时间点。 NSDate是一个类簇,我们所使用的NSDate对象,都是NSDate的私有子类的实体。 NSDate *date = [NSDate date]; //创建一个时间对象 NSLog(@"%@",date); //读取当前时间,0时区的时间, 默认的NSDate Date的显示的是格林威治标准时间
2014-11-03 23:13:33 314
原创 Foundation中的NSNumber与NSValue
在Objective-c中有int的数据类型,那为什么还要使用数字对象NSNumber?这是因为很多类(如NSArray)都要求使用对象,而int不是对象。NSNumber就是数字对象,我们可以使用NSNumber对象来创建和初始化不同类型的数字对象。一、NSNumber NSNumber *num = [NSNumber numberWithInt:10]; //将10
2014-11-03 23:04:33 304
原创 Foundation中的NSDictionary与NSMutableDictionary
字典就是关键字及其定义(描述)的集合。Cocoa中的实现字典的集合NSDictionary在给定的关键字(通常是一个NSString)下存储一个数值(可以是任何类型的对象)。然后你就可以用这个关键字来查找相应的数值。不同于数组,字典(也被称为散列表或关联数组)使用的是键查询的优化存储方式。它可以立即找出要查询的数据,而不需要遍历整个数组进行查找。一、NSDictionary的基
2014-11-03 22:49:32 338
原创 Foundation中的NSSet与NSArray区别与联系
一、共同点:1、都是集合,可以存放多个OC对象2、都是只能存放OC对象,而不可容易存放非OC对象3、都有可变子类,而本身确实不可变的二、不同点:1、NSArray是有顺序的2、NSSet是无序的3、NSArray的存储数据的方式是连续的,后一个数据在内存中是紧接着前一个数据的4、而NSSet在存储的时候并不是需要一块连续的内存,有可能我第一个
2014-11-03 22:37:27 350
原创 Foundation中的NSSet和NSMutableSet
集合(NSSet)对象是一组单值对象的组合。比如,一个包含1到50个数字的集合。集合对象的操作包括搜索、增加、删除集合中的成员,比较两个集合、计算两个集合的交集和并集等。NSSet常用方法:
2014-11-03 22:29:42 295
原创 Foundation中的NSArray与NSMutablerray
NSArray是静态的数组,就是它所指向的内容是不可改变的,它指向一段内存区域,一旦初始化,不能通过它对该内存区域的数据进行修改操作,但是它可以读数据。NSMutableArray是动态的是NSArray的子类,可以对所指向的内存区域内容进行更改,并可以增加数组内容NSArray和NSmutableArray的第一个数据的下标为0。一、初始化方法:1.init返回一个空
2014-11-03 22:16:50 283
原创 objective-c中block
一、关于BlockBlock封装了一段代码,可以在任何时候执行Block可以作为函数参数或者函数的返回值,而其本身又可以带输入参数或返回值。苹果官方建议尽量多用block。在多线程、异步任务、集合遍历、集合排序、动画转场用的很多二、关于Block的定义1.脱字符(^)是块的语法标记。按照我们熟悉的参数语法规约所定义的返回值以及块的主体(也就是可以执行的代码)。下
2014-11-02 14:43:36 307
原创 objective-c中protocol
一、protocol基本使用在Object-C中,Protocol被用来定义一组独立于具体类的属性和方法,其不具体实现这些方法,任何类都可以实现Protocol,Protocol可以继承另一个Protocol,从特征上看Protocol的作用类似于Java世界的接口。1.基本用途可以用来声明一大堆方法(不能声明成员变量) 只要某个类遵守了这个协议,就相当于
2014-11-02 12:37:04 314
原创 objective-c中ARC机制
一、ARC介绍Apple的文档里是这么定义ARC的:“自动引用计数(ARC)是一个编译器级的功能,它能简化Cocoa应用中对象生命周期管理(内存管理)的流程。”ARC并不是垃圾收集,而且,引用计数也没有消失,只是变成自动而已。二、ARC使用原理当采用ARC后,代码只要这样写:NSObject *obj = [[NSObject alloc] init];/
2014-11-01 19:58:03 366
原创 objective-c中内存小结
一、计数器基本操作1.retain +12.release -13.retainCount 获取计数器二、set方法内存管理1.set方法实现- (void)setCar:(Car*)car{ if (_car != car) { [_car release];
2014-11-01 11:08:58 298
原创 objective-c中的autorelease
一、autorelease基本用法1.给某个对象发送一条autorelease消息时,就会将这个对象加到一个自动释放池中2.当自动释放池销毁时,会给池子里面的所有对象发送一条release消息3.调用autorelease方法时并不会改变对象的计数器,并且会返回对象本身4.autorelease实际上只是把对release的调用延迟了,对于每一次autorelease,系统
2014-10-31 22:11:09 319
原创 objective-c循环retain和@class
一、关于@class1.使用场景对于循环依赖关系来说,A类引用B类,同时B类也引用A类,这种代码编译会报错。当使用@class在两个类相互声明,就不会报错了。2.用法概括使用@class类名,如:@class Card; //仅仅告诉编译器,Card是一个类。3.@class的好处1>能解决循环引用的问题。2>能提高性能。4.@cl
2014-10-31 20:38:37 424
原创 objective c内存管理
一、关于内存存储1.栈:用来存储局部变量,比如int *p等 2.堆:用来存放动态存储变量,比如对象3.每个OC对象都有一个“引用计数器”,它占用四个字节,对象刚诞生该值为1,他会自动记录该对象当前被引用次数,当该值为0的时候,他就会被回收,并且回收前向对象发送dealloc消息【一定要调用super dealloc】,而且这句调用放最后。【 当使用
2014-10-31 12:54:16 401
原创 objective-c中类的本质与description
-----------android培训、java培训、java学习型技术博客、期待与您交流!------------ 一、objective-c中类的本质与description
2014-10-29 21:48:12 354
原创 objective-c中的SEL
-----------android培训、java培训、java学习型技术博客、期待与您交流!------------一、SEL
2014-10-29 21:28:55 266
原创 objective-c中的category
-----------android培训、java培训、java学习型技术博客、期待与您交流!------------
2014-10-29 13:34:24 302
原创 objective-c中id与构造方法
一、objective-c中的idid 又称为万能指针,即他可以指向任何OC对象,相当于NSObject *;使用的时候要注意id后面不能加*;局限性:如果调用一个不存在的方法,编译器就会马上报错。用法举例:#import @interface Person : NSObject@property int age; // 自动声明age
2014-10-28 21:24:24 538
原创 objective-c中的@property和@synthesize
一、@property用法@property会自动生成某个成员变量的setter和getter声明;用@property int age;就可以代替下面的两行:- (void) intAge:(int)age; // setter- (int) age; // getter@property int age;一般只写age就行,不要写_age,因为这样生
2014-10-27 20:21:20 271
原创 objective-c中点语法和成员变量作用域
一、点语法当编译器遇到点语法时(如p.age),会自动转换成方法调用,而不是访问成员变量。如:p.age = 10; 相当于[p setAge:10];如:int age = stu.age; 相当于[stu age];在使用点语法的时候,系统会自动展开成相应的方法。#import @interface Person : NSObject // 定义Pers
2014-10-27 19:34:38 356
原创 关于objective-c中类的组合
关于objective-c中类的组合问题,我们先来看一道题:1.设计2个类,类之间的关系自拟(比如继承、组合)1> 身材数据(1)属性* 身高* 体重* 手长* 脚长(2)方法* 属性相应的set和get方法2> 人(1)属性* 年龄* 身高* 体重* 手长* 脚长(2)方法* 属性相应的set和get方法
2014-10-26 16:49:13 567
原创 objective-c中的Super
一、objective-c中的Super的用法super的作用1. 直接调用父类中的某个方法2. super处在对象方法中,那么就会调用父类的对象方法 super处在类方法中,那么就会调用父类的类方法3. 使用场合:子类重写父类的方法时想保留父类的一些行为二、实例情境我们看如下实例:我们准备定义一个僵尸类,然后下面的各种跳跃
2014-10-24 15:38:35 640
原创 objective-c中继承
一、关于objective-c中的继承在一个类基础上定义一个新类叫继承,原有的类叫父类,新生成的类叫子类。1、好处:1>.继承能抽取重复代码,减少工作量。2>.他建立了类之间的关系。3>.子类可以拥有父类中的所有成员变量和方法。示例如下:#import /********Animal的声明*******/@interface Animal
2014-10-24 13:23:17 460
原创 objective-c中self的使用
一、关于objective-c中的类方法类方法是用 + 修饰的方法。类方法是属于类对象的,所以无需创建类的实例对象我们就可以直接使用它们。1、特点:1>.类方法必须使用+(加号)开头; 如+(void)printC
2014-10-24 10:57:06 489
原创 objective-c中的类方法和对象方法
一、关于objective-c中的set方法1、作用:他的作用是提供一个方法给外界设置成员变量,可以在方法里面对相应参数进行相应过滤。2、命名规范:1>.set方法名必须以set开头;2>.
2014-10-23 20:38:27 365
原创 关于objective-c中的set和get方法
/* 4.设计一个成绩类 * C语言成绩(可读可写) * OC成绩(可读可写) * 总分(只读) * 平均分(只读)*/#import @interface Score : NSObject{ int _cScore; // C语言成绩 int _ocScore; // OC成绩 int _totalScore;// 总分 int _a
2014-10-23 18:58:49 1671
原创 objective-c中命名规范
一、关于objective-c中类的命名规范(1)类名(及其category name 和 protocal name)的首字母大写,写使用首字母大写的形式分割单词。(驼峰标示)(2)在面向特定应用的代码中,类名应尽量避免使用前缀,每个类都使用相同的前缀影响可读性。(3)在面向多应用的代码中,推荐使用前缀。二、关于objective-c中方法的命名规
2014-10-23 12:54:47 722
原创 关于类的合理设计
关于类的设计,初学者有很多东西需要注意的,除了代码的编写之外,还有很多类的设计方面的东西需要顾及,所以关于这一块,就拿一个小程序来体会,这样会更加生动清晰。我们要写一个学生类,这个类的成员(属性)有:性别,生日,体重,最喜欢颜色,还有一条狗他包含的方法有:吃饭,跑步,遛狗,喂狗写之前,可以想一下,关于性别,只有两个选项,男和女,我们可以定义枚举类型;同样的还有颜色;那关于生日,有年
2014-10-23 10:30:36 420
原创 调用实现的方法
一、main函数里调用方法比如我们之前声明了一个Car类,然后实现以后,如何在main函数里面调用呢?过程如下: Car *p = [Car new];//[行为执行者,行为名称]利用类来创建对象。 [Car new]每次都会创建一个新对象,并且会返
2014-10-22 22:35:31 288
原创 objective c中的类和对象
一、objective C中的类1、类和对象类是对所有对象相同属性的概括,但是对象是具体的,我们通常把相同或者相似行为的对象设计成一个类。2、类的设计*第一个字母必须大写*不能有下划线(规范) *多个单词,驼峰标示举例如下:#类名;Zoombic#属性:life,speed,attrack#行为:walk,speed,die3、类的声明
2014-10-22 22:13:40 346
原创 OC基础知识点
一、基础语法1. 类首字母要大写,方法则小写,另外OB C 通常对方法是用驼峰命名法(如identifiersLikeThis),方法用-开始定义;2. @interface 和 @end 是接口的开始与结尾, 变量放在{ }之间;该示例里面, 整形 int, 字符类型NSString(NSString属于Cocoa Touch object library,可以获得字符串的长度、
2014-10-22 21:50:58 408
原创 Objective-C入门
-----------android培训、java培训、java学习型技术博客、期待与您交流!------------ Objective-C入门
2014-10-22 21:24:01 525
原创 C语言预处理指令与全局局部变量
一、C语言数组使用,存放规则等1、如:数组int ages[];是一种错误的写法。 1> 如果想再定义数组的同时进行初始化,数组元素个数必须是常量,或者不写。
2014-10-21 19:22:45 701
原创 C语言结构体与枚举等类型
一、C语言数组使用,存放规则等1、如:数组int ages[];是一种错误的写法。 1> 如果想再定义数组的同时进行初始化,数组元素个数必须是常量,或者不写。 int
2014-10-21 19:00:18 351
ios画板应用实现,可选笔颜色,粗细,以及取消上一步操作,一键清屏,加载图片绘图等。学习iOS好demo
2016-02-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人