ios随记
Posted joker4o
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios随记相关的知识,希望对你有一定的参考价值。
block
而通过Block,就能够使用匿名函数,即不带函数名称的函数以下为例子
int (*funcptr)(int) = &func; int result = (*funcptr)(10);
、()、{}均属于block文档,是block的代表,关于block苹果官方的定义:block对象是C级别的语法和运行时特性。它们和标准C函数很相似,但除了可执行代码外,它们还可能包含了变量自动绑定或内存托管。一个block维护一个状态集(数据),它们可以在执行的时候用来影响程序行为。
h与m同时申明一个类。
在.h文件中声明的属性,外部类可以调用,但在.m中声明的外部类则不可以调用。
在.m文件中声明的成员变量,只有本类可以访问,在.h文件中声明的成员变量,本类和子类可以访问。
-
其实UIView之所以能显示在屏幕上,完全是因为它内部的一个层。
-
在创建UIView对象时,UIView内部会自动创建一个层(即CALayer对象),通过UIView的layer属性可以访问这个层。当UIView需要显示到屏幕上时,会调用 drawRect:方法进行绘图,并且会将所有内容绘制在自己的层上,绘图完毕后,系统会将层拷贝到屏幕上,于是就完成了UIView的显示。
-
换句话说,UIView本身不具备显示的功能,是它内部的层才有显示功能。
二、UIView与CALayer的区别和联系 -
UIView是ios系统中界面元素的基础,所有的界面元素都继承自它。它本身完全是由CoreAnimation来实现的(Mac下似乎不是这样)。它真正的绘图部分,是由一个叫CALayer(Core Animation Layer)的类来管理。UIView本身,更像是一个CALayer的管理器,访问它的跟绘图和跟坐标有关的属性,例如frame,bounds等等,实际上内部都是 在访问它所包含的CALayer的相关属性。
-
UIControlStateNormal = 0, 常规状态显现
UIControlStateHighlighted = 1 << 0, 高亮状态显现
UIControlStateDisabled = 1 << 1, 禁用的状态才会显现
UIControlStateSelected = 1 << 2, 选中状态
UIControlStateApplication = 0x00FF0000, 当应用程序标志时
UIControlStateReserved = 0xFF000000 为内部框架预留,可以不管他
这种block就是说如果有地方实现了,就不会空,没有地方实现就是空的
很多时候当作flag使用,写好函数体,比如销毁的时候就调用一下。
property就是不用初始化了,像set与get方法,有了这个就可以点出来
java中的私有和共有的关系
使得子类也能被复制
以上是关于ios随记的主要内容,如果未能解决你的问题,请参考以下文章