oc基础

未了解知识点: 自动化测试 程序生命周期

import与include

import不会引起交叉编译的问题。 因为在Objective-C中会存在C/C++和Object-C混编的问题,如果用#include引入头文件,会导致交叉编译。

import<> 导入系统头文件,

import"" 导入自己的头文件

include是C/C++中的头文件引入方式

#import和@class的区别 @classA来引入一个类A时, 编译器只知道有这么一个类A,

#import“classA.h”来引入一个类A,会包含这个类的所有信息,包括实体变量和方法,

两个文件互相包含;

如果使用#import来相互包含,那么就会出现编译错误,

如果使用@class在两个类的头文件中相互声明,则不会有编译错误出现,只需要在。m包含需要的文件即可

什么是单元测试

单元测试:又称模块测试( Unit Testing),是针对【程序模块】来进行正确性检验的测试工作。 程序模块:软件设计的最小单位。对于面向对象编程,最小单元就是方法 所以oc的单元测试是针对单个函数进行正确性检验的工作。

IOS单元测试框架有哪些?

XCTest都是官方的测试框架, GHUnit和OCMock都是第三方的测试框架,

封装 继承 多态

封装:即一个类向外部仅暴漏公有的方法和属性。无需外界知道的方法和属性会设为私有,目的是面对接口编程

继承:即对父类的扩展,

多态:不同对象以自己的方式响应相同的消息的能力叫做多态。

ios消息传递方式

1.通知:NSNotificationCenter

在ios中由消息中心进行消息接收和消息广播,是一种一对多的消息传递方式

2.代理

是一种通用的设计模式,用于代理者和被代理者协调解决问题。在ios中有代理对象,委托者,协议三部分组成,让被代理者在合适的时候通过协议调用代理者实现的方法。

3.block

ios中的一种回调方法,可以将回调处理代码直接写到block代码块中,好处是逻辑清晰,代码整齐。

4.target action

如xib中button和viewcontroller的交互方式,在视图控制器中添加xib文件的button的action就可以事件button的事件传递,

5.kvo

是NSObject的分类——NSKeyValueObserving,通过监听对象属性值的变化,当属性变化时回调kvo的回调方法

控件,属性,方法的概念:

控件是对数据和方法的封装,控件可以有自己的方法和属性。

属性是控件数据的简单访问者,方法是控件的一些简单可用的功能

Typeof

Typeof:元运算,放在运算数之前,返回一个字符串,说明运算数的类型。跟__typeOf作用相同

按钮button几中状态:

? Up:默认状态,即通常的状态,这时的鼠标是不在按钮范围之内的。 ? Over:鼠标滑过按钮时的状态。 ? Down:按钮被点击后的状态,通常它是出现在目标网页中的。 ? Over While Down:鼠标滑过处于Down状态下按钮的时候按钮的状态,通常极少应用。

Lodash
JSRUN前端笔记, 是针对前端工程师开放的一个笔记分享平台,是前端工程师记录重点、分享经验的一个笔记本。JSRUN前端采用的 MarkDown 语法 (极客专用语法), 这里属于IT工程师。