Gavin.han

致力于移动开发 技术改变生活

导航

2013年3月15日

摘要: 1.函数指针--最本质,最底层的调用2.块语法--包,本质是通过函数指针调用的3.target-action模式-在函数指针之上的封装(借助OC函数名字符串通过SEL-@selector来查找函数指针),不知道要回调的函数(本质上是函数指针)4.委托协议模式--在函数指针之上的封装(借助OC函数名字符串通过SEL-@selector来查找函数指针),知道要回调的函数 (本质上是函数指针)5.消息通知--用单个对象给多个对象发消息(本质上还是函数指针) 阅读全文

posted @ 2013-03-15 14:15 gavin.han 阅读(1482) 评论(0) 推荐(0)

摘要: 块语法的本质是:函数指针块语法的回调是通过传递函数指针实现的。贴图贴码为快:主函数:View Code #import <Foundation/Foundation.h>#import "HomeClass.h"int main(int argc, const char * argv[]){ @autoreleasepool { HomeClass *home = [[HomeClass alloc] init]; [home method]; } return 0;}HomeClass类:View Code #im... 阅读全文

posted @ 2013-03-15 14:09 gavin.han 阅读(1445) 评论(0) 推荐(0)

摘要: 代码实现:RootViewController类的实现:View Code //// RootViewController.m// HttpRequestByBlockTest// 方法1:通过块(Block)实现回调-本质是函数指针// 方法2:通过函数指针实现回调// Created by hanjun on 13-3-15.// Copyright (c) 2013年 CompanyOfHanJun. All rights reserved.//#import "RootViewController.h"#import "HttpRequst.h" 阅读全文

posted @ 2013-03-15 13:40 gavin.han 阅读(5291) 评论(0) 推荐(1)

摘要: 1.self.name = [[NSString alloc] init];2._name = [[NSString alloc] init];self.name = @"whatif";上面的两种方式:我们多数人认为1和2中_name的应用计数都是2,因为对于1:用了"self.name="(set方法),alloc了,引用计数为2;对于2:用了alloc,又用了"self.name="(set方法),引用计数为2.其实上面的说法是错误的!!!正确的答案是:1中_name的引用计数为2,2中_name的引用计数为1。原因是set方法 阅读全文

posted @ 2013-03-15 10:23 gavin.han 阅读(416) 评论(0) 推荐(0)