IOS-7步学会用代理

代理:又叫委托 自己不能去办的事委托给别人去办

之前学过的 UIAlertView UITextField都是使用了代理

反向传值代理 代理Block

写代理的步骤

需要帮忙的人(请求帮代饭的人)

1.声明代理里面的的协议方法(

@protocol)

2.声明协议的属性

3.什么时候需要触发这个代理方法

4.通过协议的属性 调用代理方法(委托)

帮忙的人做的事(帮忙带饭的人)

5.导入协议

6.在初始化有代理方法的地方,挂上代理(答应帮带饭)

7.写上代理方法 等待被执行

1.申明代理方法(不要在@Interface里面声明代理方法)

@protocol NextDelegate <NSObject>

 

-(void)toLoginWithName:(NSString *)name;

 

@end

 

 

2.声明代理的属性(可以通过属性找到代理方法)在@Interface里面声明

@property(nonatomic,assign)id<NextDelegate>delegate;

声明代理的属性用assign分配到栈里面

id<NextDelegate>delegate代理的类型 <代理的名字> 

@property(nonatomic,copy)NSString *titleName;

3.什么时候需要触发这个代理方法

-(void)toRigether{

    点击注册成功之后触发代理方法

    

  4. 通过协议的属性调用这个代理方法(委托)

    [self.delegate toLoginWithName:@"葫芦娃"];

    [self.navigationController popToRootViewControllerAnimated:YES];

}

5.导入协议

@interface ViewController () <NextDelegate,UIActionSheetDelegate>

@end

 

 6.挂上代理

    next.delegate = self;

 

 

7.写上代理方法 等待被执行(帮买饭的人的动作)

-(void)toLoginWithName:(NSString *)name{

    NSLog(@"%@ 登录成功",name);

}

2. 等待视图

    indicator =[[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle: UIActivityIndicatorViewStyleWhiteLarge];

    indicator.color = [UIColor redColor

                       ];

    indicator.center = self.view.center;

    [indicator startAnimating];

    [self.view addSubview:indicator];

 /3.弹出框 选择按钮

    UIActionSheet * acttionSheet = [[UIActionSheet alloc]initWithTitle:

                                    @"选择" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:@"慎点" otherButtonTitles:@"没", nil];

 

你可能感兴趣的:(IOS-7步学会用代理)