【第22期】观点:IT 行业加班,到底有没有价值?

iOS学习之委托及属性

原创 2013年12月04日 21:01:03

今天接触到了在以后的iOS开发中经常使用的知识:委托

委托是OC中使用非常频繁的一种设计模式,它的实现与协议的使用是分不开的

顾名思义是一个人让另一个人做自己要做却不想做的事

 

空说没有意义还是来看一个例子吧

假设我要盖一座房子,但是我不想自己亲自去盖,想要外包给别人这时候用委托实现

 

首先写一个building协议

#import <Foundation/Foundation.h>

@protocol building <NSObject>

@required

 

- (void)bulid;//协议里有必须实现的bulid方法

 

@end

 

 

再建一个Me

#import <Foundation/Foundation.h>

#import "building.h"

@interface Me : NSObject

//拥有一个委托对象

@property (assign,nonatomic) id<building> team;

 

- (void)bulideHose;//盖房子

@end

 

 

#import "Me.h"

 

@implementation Me

@synthesize team = _team;

- (void)bulideHose

{

    NSLog(@"我想盖房子,但是不想自己做,我出钱让别人做。");

    [_team bulid];//让委托对象去做

}

@end

 

 

最后创建Others类

 

#import <Foundation/Foundation.h>

#import "building.h"

@interface Others : NSObject<building>

 

@end

 

@implementation Others

- (void)bulid

{

    NSLog(@"给我钱我来盖");

}

@end

 

最后在main函数中

 

  Me *wo = [[Me alloc]init];

        Others *oth = [[Others alloc]init];

        wo.team = oth;//把委托对象设为oth

       

        [wo bulideHose];//调用方法

 

最后结果

 

这样就实现了委托

 

再有今天查了一下关于属性的知识

 

assign: 简单赋值  不会更改索引数(Reference counting)主要是基本数据型使用 eg:(NSIntegerCGFloat C言的 int double floatchar  ...


retain: 放旧的将旧象的值赋并将象的索引数+1 ,主要用与NSObject与其子.


copy: 建一个索引1放掉原来的 


readonly:  表示只属性  只会生成getter方法不会生成setter方法,eg


readwrite:置可供访问级别,可写,readonly


nonatimic:非原子访问,不加同步,多线程并发访问提高性能线程的保,防止在未写完,被另一个线取,造成数据)。

 

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

iOS中的属性传值和委托模式

本文主要是根据自己的实际操作和学习,对委托协议模式传值以及属性传值方式的一个形象具体的理解,方便技术学习的更好的理解有关属性传值及委托协议传值。便于人们更好的运用!

IOS学习笔记(十二)之IOS开发之表视图(UITableView)的相关类,属性与表视图实现学习(二)

IOS学习笔记(十二)之IOS开发之表视图(UITableView)的讲解与使用(二)(博客地址:http://blog.csdn.net/developer_jiangqq)转载请注明地址.    ...

欢迎关注CSDN程序人生公众号

关注程序员生活,汇聚开发轶事。

开源中国iOS客户端学习——(三)再看协议与委托

iOS里委托与协议是很重要的一块,如果理解不好很难区分协议与委托到底有什么不一样,这些东西在开发中是经常遇见的; <p styl
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)