oc特有语法
分类 问题
1.什么是分类?
就是把一个类的功能,分出一部分来放在一个独立的文件中
2.分类的语法是什么样的?
@interface Person(SuperMan)
3.分类与类是什么关系?
分类依赖类而存在,没有类也就没有分类
4.分类有什么作用?
用于把一个比较庞大的类,分割开来,具有相同功能的方法放到一个分类中
把太多的功能封装到一个类中,导致类文件过于庞大
5.分类中能够像类一样声明成员变量?
不能,分类中不能够定义成员变量
1>.难以维护
2>.难以使用
6.分类中能否访问原类中的成员变量?
7.分类中能够使用self关键字吗?
不能
8.分类中如果定义了与原类中相同的方法会调用谁?
分类中的方法会被完全覆盖掉
9.在实际的开发中如何应用分类?
//***********************
block 问题
1.什么是block?
block用来保存一段代码
2.数据类型都有那些共同的特点?
3.block的作用是什么
主要用于封装有多种解决方案,或者可以用不同算法解决的问题
4.如何定义block?
int (^sumBlock)(int, int);
void (^myBlock)();
5.如何调用block代码块?
>5.1如何利用block封装代码
^(int a, int b) {
return a - b;
};
^() {
NSLog(@"----------");
};
^ {
NSLog(@"----------");
};
6.block中能够访问,变量吗?
1>block内部可以访问外面的变量
2>默认情况下,block内部不能修改外面的局部变量
3>给局部变量加上__block关键字,这个局部变量就可以在block内部修改
7.利用typedef定义block类型
typedef int (^MyBlock)(int, int);
// 以后就可以利用MyBlock这种类型来定义block变量
MyBlock block;
MyBlock b1, b2;
b1 = ^(int a, int b) {
return a - b;
};
MyBlock b3 = ^(int a, int b) {
return a - b;
};
8.block跟函数很像:
1>可以保存代码
2>有返回值
3>有形参
4>调用方式一样
//******************
protocol 问题
1.什么是协议?
声明一些方法,协议本身
2.类如何遵守协议?
3.一个类可以遵守多个协议吗?
4.协议中<NSObject>是什么意思?
5.子类继承了父类,那么子类会遵守父类中遵守的协议吗?
6.协议中能偶定义成员变量?
7.协议可以在类的声明文件中.h文件中定义吗?
8.如何约束一个对象类型的变量要存储的地址是遵守一个协议对象?
SEL 问题
1.什么是SEL?
2.如何声明一个SEL?
3.通过那些方法能够,调用SEL包装起来的方法?
单利 模式问题
1.什么是单利模式?
2.单利的作用是什么?
3.什么时候用单利模式?
oc特有语法的更多相关文章
- OC特有语法:分类category,给NSString增加方法计算字符串中数字的个数
1:分类的使用场景:想对一个类,扩充一些功能,而又不改变原来类的模型,也不用继承,这时OC中的特有语法:分类可以做到: 当然分类也是一个类,也需要声明和实现,声明在.h文件中,实现在.m文件中,格式如 ...
- OC特有语法-分类(category)
本文转载Keefo. Objective-C的Object-oriented programming特性提供subclass和category这2个比较非常重要的部分.subclass应该反复被各种编 ...
- OC的特有语法-分类Category、 类的本质、description方法、SEL、NSLog输出增强、点语法、变量作用域、@property @synthesize关键字、Id、OC语言构造方法
一. 分类-Category 1. 基本用途:Category 分类是OC特有的语言,依赖于类. ➢ 如何在不改变原来类模型的前提下,给类扩充一些方法?有2种方式 ● 继承 ● 分类(Categor ...
- 【OC基础语法考试】
OC基础语法已经全部学完,但是这些知识只是最基础的,还有很多高级知识,这个可能需要后面慢慢的去学习才能体会到.接下来我会总结前面的OC基础语法,如果大家发现有什么不正确的地方,请指正,小弟是新生,多请 ...
- OC点语法和变量作用域
OC点语法和变量作用域 一.点语法 (一)认识点语法 声明一个Person类: #import <Foundation/Foundation.h> @interface Person : ...
- 李洪强iOS开发之OC点语法和变量作用域
OC点语法和变量作用域 一.点语法 (一)认识点语法 声明一个Person类: 1 #import <Foundation/Foundation.h> 2 3 @interface Per ...
- [Objective-c 基础 - 2.2] OC弱语法、类方法
A.OC弱语法 1.在运行的时候才会检查方法的声明和实现 2.没有声明只有实现的方法也能正常运行,只要在调用之前定义即可 3.类的声明必须存在,否则会出现运行时错误 B.类方法 1.是类名调用的方 ...
- 【Objective-C】1.oc点语法
在Java中,我们可以通过"对象名.成员变量名"来访问对象的公共成员变量,这个就称为"点语法".比如: 1.在Student类的第2行定义了一个公共的成员变量a ...
- OC中的特有语法
一. 分类-Category 1. 基本用途 如何在不改变原来类模型的前提下,给类扩充一些方法?有2种方式 l 继承 l 分类(Category) 2. 格式 分类的声明 @interface 类名 ...
随机推荐
- js 分割循环
var str ='1,2,3'; var arr = str.split(","); var array1 =[]; var array2 =[]; for(i=0,l=arr. ...
- mvc Html.RenderAction方法解析
@{Html.RenderAction("Listview--控制器里面方法", "Home--控制器名", new { cid = "bda347f ...
- Nohttp网络请求数据,Post以及Get的简单实用以及设置缓存文字的的请求
开局声明:这是基于nohttp1.0.4-include-source.jar版本写的教程 由于nohttp功能强悍,因此需要多种权限,仅仅一个联网的权限是不够的,如果只给了Internet的权限,去 ...
- 【转载】ADO.NET与ORM的比较(4):EntityFramework实现CRUD
[转载]ADO.NET与ORM的比较(4):EntityFramework实现CRUD 说明:个人感觉在Java领域大型开发都离不了ORM的身影,所谓的SSH就是Spring+Struts+Hiber ...
- T4模板_根据DB生成实体类
为了减少重复劳动,可以通过T4读取数据库表结构,生成实体类,用下面的实例测试了一下 1.首先创建一个项目,并添加文本模板: 2.添加 文本模板: 3.向T4文本模板文件添加代码: <#@ tem ...
- I/O多路复用之epoll
1.select.poll的些许缺点 先回忆下select和poll的接口 int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set ...
- mysql 使用set names 解决乱码问题的原理
解决乱码的方法,我们经常使用“set names utf8”,那么为什么加上这句代码就可以解决了呢?下面跟着我一起来深入set names utf8的内部执行原理 先说MySQL的字符集问题.Wind ...
- Java中关于final关键字
final关键字,大学时一直没有理解,伴随到工作,郁闷......也可能大学真的没认真去学习 首先,final给人一看英语单词 不就是最终的嘛,最终的什么的呢 ? 小张现在就带大家 学习下..... ...
- Apple Catching(POJ 2385)
Apple Catching Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9978 Accepted: 4839 De ...
- Mysql基础教程——mysql之一
教程列表:http://www.dxzy163.com/view/index7627.html 41 存储过程 40 全文索引与停止词 39 索引的管 38 索引概念 37 数据库备份与恢复 36 事 ...