当先锋百科网
首页
1
2
3
4
5
6
7
【App管理03-显示消息Label Objective-C语言】
一、点击“下载”按钮的时候,弹出一个Label来
当你点击“下载”按钮的时候,弹出一个Label,这个应该在哪里写代码呢,是不是应该在这里写代码
1)点击事件里面,第一步,设置按钮的状态
2)第二步,弹出一个Label来,
这个弹出的Label,最终,是不是要把它加到我们的哪里,最终是要把它加到我们的self.view里面吧
是不是加到控制器所管理的view里面
所以说,我们现在这是个什么代码
这是一个单元格这个代码吧,这是在自定义Cell里面
我们在这里创建一个Lable,这个Label要加到我们控制器的view里面,你在这里能访问到控制器的view吗
访问不到吧,所以说,这里用什么,这儿是不是得用代理
也就是说,当用户点击完毕这个按钮之后,这儿要通过一个代理方法
在控制器的view里面,创建一个Label,把Label加到控制器的view里面
所以说,我们这个地方,是不是可以用个代理啊
好,再把代理复习一下
1)现在,谁要代理,是不是这个自定义Cell,这个自定义Cell,是不是需要用一个代理,它要找一个代理,帮它创建一个Label,把Label加到控制器的View里面啊,所以说,自定义Cell,需要一个代理,
2)既然它需要一个代理,所以这个协议写在哪里
自定义Cell的.h文件里,叫什么
CZAppCell复制过来吧,加一个Delegate
3)然后呢,这个方法名儿呢
- (void)appCellDidClickDownloadButton
是不是当用户点击这个下载按钮啊
这儿参数是什么
是不是把自己传过来
@protocol CZAppCellDelegate < NSObject >
- (void)appCellDidClickDownloadButton:(CZAppCell *)appCell;
@end
前面加上@class CZAppCell;
这样的话,这协议是不是就搞定了
4)协议搞定了以后,接下来,是不是要在这个Cell中加一个代理这个属性啊
@property(nonatomic,weak)id < CZAppCellDelegate > *delegate;
报错了,为什么
不要星号,因为id就是NSObject *,星号吧
5)然后,接下来,在这里,是不是要用一下这个代理
好,在这里,我们就要干什么,用代理
if(condition)
if([self.delegate respondsToSelector:@selector(appCellDidClickDownloadButton:]){
}
这里写什么,写我们的代理方法吧
appCellDidClickDownloadButton: