分类 问题

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特有语法的更多相关文章

  1. OC特有语法:分类category,给NSString增加方法计算字符串中数字的个数

    1:分类的使用场景:想对一个类,扩充一些功能,而又不改变原来类的模型,也不用继承,这时OC中的特有语法:分类可以做到: 当然分类也是一个类,也需要声明和实现,声明在.h文件中,实现在.m文件中,格式如 ...

  2. OC特有语法-分类(category)

    本文转载Keefo. Objective-C的Object-oriented programming特性提供subclass和category这2个比较非常重要的部分.subclass应该反复被各种编 ...

  3. OC的特有语法-分类Category、 类的本质、description方法、SEL、NSLog输出增强、点语法、变量作用域、@property @synthesize关键字、Id、OC语言构造方法

    一. 分类-Category 1. 基本用途:Category  分类是OC特有的语言,依赖于类. ➢ 如何在不改变原来类模型的前提下,给类扩充一些方法?有2种方式 ● 继承 ● 分类(Categor ...

  4. 【OC基础语法考试】

    OC基础语法已经全部学完,但是这些知识只是最基础的,还有很多高级知识,这个可能需要后面慢慢的去学习才能体会到.接下来我会总结前面的OC基础语法,如果大家发现有什么不正确的地方,请指正,小弟是新生,多请 ...

  5. OC点语法和变量作用域

    OC点语法和变量作用域 一.点语法 (一)认识点语法 声明一个Person类: #import <Foundation/Foundation.h> @interface Person : ...

  6. 李洪强iOS开发之OC点语法和变量作用域

    OC点语法和变量作用域 一.点语法 (一)认识点语法 声明一个Person类: 1 #import <Foundation/Foundation.h> 2 3 @interface Per ...

  7. [Objective-c 基础 - 2.2] OC弱语法、类方法

    A.OC弱语法 1.在运行的时候才会检查方法的声明和实现 2.没有声明只有实现的方法也能正常运行,只要在调用之前定义即可 3.类的声明必须存在,否则会出现运行时错误   B.类方法 1.是类名调用的方 ...

  8. 【Objective-C】1.oc点语法

    在Java中,我们可以通过"对象名.成员变量名"来访问对象的公共成员变量,这个就称为"点语法".比如: 1.在Student类的第2行定义了一个公共的成员变量a ...

  9. OC中的特有语法

    一. 分类-Category 1. 基本用途 如何在不改变原来类模型的前提下,给类扩充一些方法?有2种方式 l 继承 l 分类(Category) 2. 格式 分类的声明 @interface 类名  ...

随机推荐

  1. JavaScript---while和do while的区别

    JavaScript,while 和do while的区别: 场景一:小盒子身上有100元,用while输出能吃多少次米线,一碗米线12元,最终还剩下多少钱. var money = 100; whi ...

  2. 视差滚动(Parallax Scrolling)效果的原理和实现

    视差滚动(Parallax Scrolling)是指让多层背景以不同的速度移动,形成立体的运动效果,带来非常出色的视觉体验.作为今年网页设计的热点趋势,越来越多的网站应用了这项技术. 一.什么是视差滚 ...

  3. NopCommerce 3.3中文语言包发布下载及使用

    NopCommerce 3.3是一套国外优秀的开源电子商务项目,其拥有完整的电子商务功能且具有灵活的配置功能,基于微软最新技术ASP.NET MVC 5.1.1,EntityFramework.6.1 ...

  4. 我的开源框架之Accordion控件

    需求: (1)实现手风琴面板控件,支持静态HTML与JSON方式创建控件 (2)支持远程加载数据 (3)支持面板激活.远程加载事件注册 (4)支持动态添加.删除项目 实现图例 客户代码 <div ...

  5. js抽象类和抽象方法

    js中模拟抽象类:在父类中调用一个未定义的方法,这个方法在子类中必须被实现. 1, 模拟类的工厂模式 //基类 var Class = { //基类的静态方法 creat:function(){ // ...

  6. 不用图片,纯Css3实现超酷的类似iphone的玻璃气泡效果

    最近在一个私活做手机项目时候,需要实现一个类似ios 6中短信那样的气泡效果. 这里分享下实现心得,希望能给大家一点启发. 首先分析下iphone的气泡效果有一下特点 1. 四面圆角 2. 界面上向下 ...

  7. web.xml中classpath:和classpath*: 有什么区别?

    web.xml中classpath:和classpath*:     IccBoY applicationContext.xml 配置文件的存放位置 web.xml中classpath:和classp ...

  8. 为编写网络爬虫程序安装Python3.5

    1. 下载Python3.5.1安装包1.1 进入python官网,点击menu->downloads,网址:https://www.python.org/downloads/ 1.2 根据系统 ...

  9. python笔记之编程风格大比拼

    python笔记之编程风格大比拼 虽然我的python age并不高,但我仍然愿意将我遇到的或者我写的有趣的python程序和大家一块分享,下面是我找到的一篇关于各类python程序员的编程风格的比较 ...

  10. inPolygonTest学习和C++实现

    大家好,我是小鸭酱,博客地址为:http://www.cnblogs.com/xiaoyajiang 此篇博客实现了判定平面一点是否在给定多边形内部的功能.精确,性能优良,因为只包含加法和乘法运算,效 ...