UI即User Interface(用户界面)的简称。泛指用户的操作界面。
View 是 iOS 里最基本的 UI 组件,所有像 Button,Label 这些最终都是继承自 View,而每一张页面,一般都有一个最顶层的屏幕大小的 View,我们添加的所有 UI 组件最终都会作为它的子项。
iOS应用程序都遵循Model-View-Controller的架构:
Model负责存储数据和处理业务逻辑,View负责显示数据和与用户交互,Controller是两者的中介,协调Model和View相互协作。
Target-action模式就是当某个事件发生时,调用那个对象中的那个方法。
1.UIControl作为UIButton的父类,所以具有UIButton一样的事件响应机制(用于事件响应)
2.UIControl作为UIView的子类,具有作为容器视图的潜质(用于页面布局)
UIControl侧重于事件交互,最大的特点是拥有addTarget:action:forControlEvents方法
在软件开发过程中,我们常常需要在某个时间后执行某个方法,或者是按照某个周期一直执行某个方法。在这个时候,我们就需要用到定时器。
线程与进程:
进程是资源的分配和调度的一个独立单元,而线程是CPU调度的基本单元
同一个进程中可以包括多个线程,并且线程共享整个进程的资源(寄存器、堆栈、上下文),一个进行至少包括一个线程。
线程中执行时一般都要进行同步和互斥,因为他们共享同一进程的所有资源。
线程有自己的私有属性TCB,线程id,寄存器、硬件上下文,而进程也有自己的私有属性进程控制块PCB,这些私有属性是不被共享的,用来标示一个进程或一个线程的标志。
进程就是包换上下文切换的程序执行时间总和 = CPU加载上下文+CPU执行+CPU保存上下文
这里a,b,c的执行是共享了A的上下文,CPU在执行的时候没有进行上下文切换的。这里的a,b,c就是线程,也就是说线程是共享了进程的上下文环境,的更为细小的CPU时间段。
剥夺资源、杀死其中一个线程
Windows内存管理方式:段存储、页存储、段页存储
(1)虚拟地址:虚拟内存映射出来的地址
(2)逻辑地址:程序的段加偏移量形成的,C/C++程序中取地址求出来的地址就是逻辑地址
c语言中取变量地址(&),打印输出是逻辑地址
虚拟存储技术就是利用实际内存空间和相对大的多的外部储存器存储空间相结合构成一个远远大于实际内存空间的虚拟存储空间,程序就运行在这个虚拟存储空间中。
C语言特点:
1.表现能力和处理能力极强。可以直接访问内存的物理地址,进行位(bit)一级的操作;
2.C语言实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体—既可用于系统软件的开发,也适合于应用软件的开发;
面向对象程序设计的四大思想:1) 封装2) 继承 3) 多态4)抽象
C++语言特点:
可以使用抽象数据类型进行基于对象的编程;
可以使用多继承、多态进行面向对象的编程;
可以担负起以模版为特征的泛型化编程。
private: 只允许类的成员函数进行访问。
protected:只允许类的成员函数及其子孙类进行访问。
public:允许类的成员函数、类的实例及其子孙类、子孙类的实例进行访问。
C++中,实现多态有以下方法:虚函数、抽象类、覆盖 重载不属于多态
多态:允许将子类类型的指针赋值给父类类型的指针。
虚函数的作用是允许在派生类中重新定义与基类同名的函数,并且可以通过基类指针或引用来访问基类和派生类中的同名函数。
class A
{
public:
virtual void print(){cout<<"This is A"<
其[派生类]的相应的函数也会自动变为虚函数。所以,class B的print()也成了虚函数。
抽象类:
在C++中,含有纯虚拟函数的类称为抽象类,它不能生成对象;在java中,含有抽象方法的类称为抽象类,同样不能生成对象。
classA
{
public:
virtualvoidlock(void)=0;
virtualvoidunlock(void)=0;
virtual~A(void);
}
将函数lock()和unlock()初始化为0使它们成为纯虚函数,没有0这个初使化器,它们仅仅是虚函数。
C++重载函数:允许在同一范围中声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同。
http://blog.csdn.net/lengshengren/article/details/17838215
http://blog.csdn.net/u010590318/article/details/41821103