zoukankan      html  css  js  c++  java
  • iOS 基础 第五天(0811)

    0811

    ARC
    • ARC判断准则:只要没有强指针指向对象,就会释放对象

    指针

    指针分两种:

    • 强指针:默认情况下,搜有的指针都是强指针
    • 弱指针:week修饰(一个是控件,一个是delegate代理)

    循环强引用的情况参见 iOS学习(一)

    注意非arc的情况是retain和assign组合,arc的情况是strong和week组合


    下面是block的使用方法

    block在C#用叫回调,在Android中叫匿名方法

    block是由函数演变而来

    block是用来保存代码块的,方便以后随时调用

    block的标志:^

    block有返回值

    block有形参

    不能随意访问外部的变量,如果访问需要加__block

    调用方式基本和方式一样

    就如这样:(返回值)(^block名称)(形参) = ^(形参){}

    下图是一个典型的block:

    1、block的使用场合:多在多线程、异步任务、集合遍历、集合排序、动画转场等


    下面是protocal的用法######

    protocal协议主要用在两种模式上,分别是代理模式和观察者模式

    protocal就是协议,只要一说到协议就是指protocal.协议只需要一个.h头文件就可以了,因为它需要包含方法的声明即可,方法的实现让代理去实现即可.一般协议和其类的声明@interface写在一起._

    以下三点非常重要:

    1、用来声明一大堆方法,可以交给任何一个类去实现,只要这个类遵循的这个协议

    2、只要某个类遵循了某个协议,就相当于拥有这个协议中的所有方法声明

    3、只要父类遵循了某个协议,就相当于子类也遵循了.

    4、protocal中方法默认是@required,可以实现,也可以不实现,不实现只会警告不会报错.和C#中的接口不一样,你实现了某个接口,就必须实现接口中的所有方法.如下图所示:

    只要这个类遵循了这个协议,成为了代理,实现了协议中的某些方法,那么这个类就具有了调用代理者的监听和通知的功能

    下面是protocal的一些总结:


    警告的处理
    • 一个是一个警告标识,不是整行都划线警告,这种可修复可不修复.
    • 一个是整行的大警告,这种要修复.整行都警告了肯定是有不合理的地方.

  • 相关阅读:
    飞入飞出效果
    【JSOI 2008】星球大战 Starwar
    POJ 1094 Sorting It All Out
    POJ 2728 Desert King
    【ZJOI 2008】树的统计 Count
    【SCOI 2009】生日快乐
    POJ 3580 SuperMemo
    POJ 1639 Picnic Planning
    POJ 2976 Dropping Tests
    SPOJ QTREE
  • 原文地址:https://www.cnblogs.com/lyandy/p/5116824.html
Copyright © 2011-2022 走看看