zoukankan      html  css  js  c++  java
  • iOS必备知识点

    http://www.mamicode.com/info-detail-308725.html

    alpha和opaque的区别

    alpha是用来描述改view的透明度从0到1,0表示的是透明,1表示不透明。alpha支持动画(animation),alpha = 0 与 hidden = YES 效果一样都是看不到view,但是后者相比开销大。在alpha等于0时view接受touch事件,但是hidden则不接受。并且hidden和opaque 不支持动画。alpha并不影响镶嵌在其内部view行为,而hidden会影响。当把view设置为透明背景时,一般把opaque设置为NO,可以减少开销,优化内存.opaque影响图形绘制系统。设置为YES,会优化view的绘制。

    3,nil,NSNULL,NULL区别

    nil是指向obj-c中对象的空指针,是一个对象,在o-c中nil对象调用方法不会引起crash。

    Nil是指向obj-c中的类的空指针,表示的是一个空类。

    NULL是指向任何类型的空指针(如c/c++中的空指针),在objective-c中是一个数值。

    NSNULL用于集合操作,在集合对象中,表示一个空值的集合对象。

     

    4.KVC and KVO

    KVC(key-value-coding)键值编码,是一种间接操作对象属性的一种机制,可以给属性设置值。通过setValue:forKey:和valueForKey,实现对属性的存取和访问。

    KVO(key-value-observing)键值观察,是一种使用观察者模式来观察属性的变化以便通知注册的观察者。通过注册observing对象addObserver:forKeyPath:options:context:和观察者类必须重写方法 observeValueForKeyPath:ofObject:change:context:。常应用MVC模型中,数据库(dataModal)发生变化时,引起view改变。

     

    21.应用程序的生命周期和状态(参照:http://blog.csdn.net/totogo2010/article/details/8048652

    Not running  未运行  程序没启动

    Inactive          未激活        程序在前台运行,不过没有接收到事件。在没有事件处理情况下程序通常停留在这个状态

    Active             激活           程序在前台运行而且接收到了事件。这也是前台的一个正常的模式

    Backgroud     后台           程序在后台而且能执行代码,大多数程序进入这个状态后会在在这个状态上停留一会。时间到之后会进入挂起状态(Suspended)。有的程序经过特殊的请求后可以长期处于Backgroud状态

    Suspended    挂起           程序在后台不能执行代码。系统会自动把程序变成这个状态而且不会发出通知。当挂起时,程序还是停留在内存中的,当系统内存低时,系统就把挂起的程序清除掉,为前台程序提供更多的内存。

    下图是程序状态变化图:

    bubuko.com,布布扣

  • 相关阅读:
    Git使用
    A star算法
    禅语人生
    android中GridView
    关于Android资源学习
    买了胡百敬老师的<SQL SERVER 2008 管理实战>
    人生七苦
    SQL Server 2008实现"编辑所有行"和"返回所有行"的方法
    陈慧娴《永远是你的朋友》专辑歌词
    SQL Server 2008 Service Pack 1 简体中文补丁包下载
  • 原文地址:https://www.cnblogs.com/dengchaojie/p/7614735.html
Copyright © 2011-2022 走看看