2013-07-10 KVC KVO 通知

kvc可以用来访问和设置属性的值(实质上是系统把属性编码成同名的字符串)
设置方式:[self setValue:aName forKey:@"name"];
等同于:   self.name = aName; 


1)id数据类型:是所有对象通用的数据类型
2)table快捷键切换形参 

3)NSNumber
4)%@:输出对象类型 
5)(void *)万能指针
 
| 位或
|| 逻辑或
context 上下文 本质上就是传值 


传值的方式有:单例,通知,

通知
作用:用于对象之间传递信息
一般用name唯一的标识一个通知
通知的特性:
1)一对多;
2)接受者必须时存在的对象
 
通知的发送是通过通知中心来发送的,而不是发送者直接发送

NSNotification:

1、获得通知中心对象

NSNotificationCenter*nc = 【NSNotificationCenter defaultCenter】;

2、监听通知

【center addObserver :监听者 selector:须执行的方法 name:所监听者通知的名称 object:通知发送者】;

3、通知中心发布消息

【center PostNotificationName:@“国王万岁”object:某人】;

4.移除监听中心

for example:


-(void)test:(NSNtification*)n

{

     NSLog(@"name:%@ object:%@ userInfo:%@",【n name】,【n object】,【n userInfo】);

}



King *king = 【【King aloc】init】;

Farmer *farmer = 【【Farmer alloc】init】;

NSNotificationCenter *center = 【NSNotificationCenter defaultCenter】;

【center addObserver:farmer selector:@selector(test) name:@"国王万岁" object:king】;

【center postNotificationName:@"国王万岁" object:king】;

【center removeObserver:farmer】;

【king release】;

【farmer release】;
 

7-11作业

kallen:  16:48:03

1、定义一个学生类,其中包含学生姓名和学生年龄属性,用KVC的方式去访问、修改学生的姓名和年龄属性。比较其和属性访问的异同。

2、利用上面的学生类,监听当学生的年龄属性被修改后,输出这个被修改后的年龄。

3、建King、Worker、Farmer类,由King发送一个自定义通知Worker和Farmer类监听通知,通知内容为打印“国王万岁”。  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值