-
你说的是iPhone协议的使用! 就我个人而言,我认为协议是用来定义对象的属性、行为和行为的。 protocol@private和@optional中有两个关键字,@private表示使用协议必须编写的方法,@optional表示可选方法,不能写入。
就像UItableView一样,它有两个协议:UItableViewDeleGate和UIPateViewDataSource,UITeTableViewDelegate是指定操作的行为,里面的方法都是可选方法,UITeTableViewDataSource是指定数据存储结构,有两个必需的方法。 因此,在实现 UIPateViewDataSource 时必须定义这两个方法,否则程序将失败。
如果使用响应式类或控件,如果该类定义了协议,则可以根据需要实现该协议。
希望对你有所帮助。
-
委托,也称为委托或委托,是一种设计模式。 要学习 iOS 开发,您需要对如何使用 Delegate 有深入的了解。 Apple 对 Delegate 有明确的声明。
但理解起来仍然有点抽象。
委托的用途:
用于更改或控制其他对象。
委托的定义:
1) Delegate 是 id 类型(匿名类型)的对象;
2) 对委托的引用通常是一个实例变量,名为委托;
3) 委托中使用的方法是访问器模式
委托消息的命名:
发送给委托的消息通常具有 (should、will、did) 之一。
should:期望委托返回一个值;
will:指示在更改发生之前要执行的操作;
did:指示更改发生后要执行的操作。
Cocoa Touh 的许多课程都在不同程度上使用 delgete。 例如:nstextfield、nstableview。
nstableView 也使用数据源。
事实上,数据源也是一种委派形式。 数据源减少了视图和模型之间的耦合。 其中,nsappplication 实现了数十种委托方法。
委托使用注意事项:
委托是一个 id 类型的对象,它在创建和处置它时也存在相同的问题。 对于数据源,只有在数据源(如表视图)的消费者发布后才能发布数据资源。 否则,将发生崩溃。
因为当您在表视图中获取数据时,数据就消失了。
委托可用于多种场景,例如对象之间的数据交互、不同视图之间的行为交互等。 如果只是数据交互,有很多方法可以做到。 委托对于视图之间的行为交互特别有用。
1.这只是一个错误名称 0x0000001e:kmode 异常未处理,0x0000001e错误表示 Windows 已检查非法或未知的进程指令。 >>>More