一、添加联系人的功能,继续来做这个啊
1.在这个“添加联系人”界面儿,
姓名:来一个“111”,
电话:来一个“2222”,
当我点击“添加”按钮以后,
我应该把B里边儿的内容传给A,
所以,这个里边儿,我的代理方法,这个协议,应该写在哪儿,
写在“添加联系人”的控制器,
还是写在这个”1的联系人“控制器里边儿,
写在“添加联系人”的控制器,对吧,
因为从B控制器传数据到A控制器,我们拿不到那个prepareForSegue:方法,所以怎么办,用代理吧,
然后,接下来,我们就来写代码儿,
把这个代码儿,备份一下啊,
选中这个“08-通讯录-添加联系人界面“,
command + C、command + V、
把这个“08-通讯录-搭建添加联系人界面副本“,改成”09-通讯录-添加联系人功能“,
后面加一个(逆传),
”09-通讯录-添加联系人功能“,改成”09-通讯录-添加联系人功能(逆传)“,
好,然后呢,这个项目,
2.接下来,我们来做这个核心功能,“逆传”,
好,然后呢,接下来啊,我们说,我们现在呢,要把这个“添加联系人”的这个数据,传给“联系人列表”,
好,也就是说,我现在,应该在添加联系人的这个控制器里边儿,去写协议,
好,然后呢,在这个里边儿啊,AddViewController.h
2.我们先来写一个协议,
我在这个#import 下面儿,写一个@pr
@pro
@protocol - Objective-C Protocol Definition,
选择下面这个,按回车,
选择下面这个类名儿,AddViewController,
选中这个类名儿,AddViewController,command + C、
粘贴到上面儿这个协议名儿,protocol name,这里,
后面加一个Delegate,
等于协议名儿,就是AddViewControllerDelegate,
然后,下边儿这个methods,
写一个@optional,
@optional,可选的方法啊,
- (void)
首先呢,是没有返回值的,第一个参数,是它自己,
选中下面这个AddViewController,command + C、
到上面儿这个方法名儿这里,command + V、粘贴过来、
把第一个字母改成小写,addViewController,方法名儿第一个字母要小写,
好,然后呢,再来一个冒号,一对小括号,
在小括号里,再来写一个(AddViewController *)
后面再写一个AddViewController,
- (void)addViewController:(AddViewController *)AddViewController,
第一个字母,改成小写,
- (void)addViewController:(AddViewController *)addViewController
然后呢,with一个
我们这里边儿,要传一个“姓名”、和一个“电话“、
所以呢,这个里边儿,我们withName:(NSString *)name
然后,andNumber:传什么,就在后面儿直接写就行了,
andNumber:(NSString *)number
那么这个方法,就搞定了,
这个有个报错儿,没有引入头文件,对吧,
@class AddViewController;
引入一下头文件,@class AddViewController;
因为我们这个方法里面的参数,是要用到AddViewController这个类的啊,在“点儿”h里面,还没有引入这个类,所以我们导入一下头文件,
2)好,然后呢,再来一个代理的属性,delegate,
来一个XWeak,