ios 学习之OC语言总结2

这里总结自己了解的 协议代理,通知广播,Block语句 

没和之前总结的一起,这里自己理解起来也花了点时间 


//ios 中 protocol 代理 委托的理解/ui  两个view视图的数据传递


意义:代理委托给其他人做事


.h 在需要把数据传递出去的view进行协议的定义 比如 


1:@protocol  进行定义 
2:写入要实现的方法 changeMe:abc
3:用@property 进行属性的定义  比如 @property id<协议>delage;

.m   在这个适当的事件下去执行代理的命令  比如视图消失的时候
1:[self.delage changeMe:123];//实际上是给代理去做的事情 只是传递参数的命令



代理人:::::

1: 在.h的地方去做代理的实现接口 加上     <协议>;

2:在.m文件中设置对应的代理  [view delage]=self;

3:在.m文件中去实现具体方法 比如changeMe方法

ios中通知的用法///
root在需要修改的视图 创建一条通知
[NSNoticationCenter defaultCenter]addObserver:self selector:@selector(chanlib:)name:@"mynoti" object:nil];

实现方法 
-(void)chanlib:(NSnotification*)noti
{
  id text=noti.object;
  UILabel *la=(UILabel *)[self.view viewWithTag:11];
  la.text=text;
}

model在需要数据传递时候的返回

[NSNoticationCenter defaultCenter]postNotificationName:@"mynoti" object:_text.text]; 

///Block语句


Block的申明

int (^myBlocks) (int)


Block的创建

myBlocks=^(int a){

    int result=a+a;

    return result;

}

Block的调用

int ret =myBlocks(10);


//知识点1 作为参数
typedef int (^myblock)(int);
myblock  block;

知识点2 引用变量
int number =20    //_block int number =20;  这样才可以用
myblock block=^(int a)
{
  number =30; //错误
  return 10;
}

内存管理 
分配内存在寨上、所以对象进去会retain  
加关键字_block  进里面将不在retain

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值