快要开学了,然而视频还木有看完,这叫一个心烦~
算了~先把学过的踩一踩吧 !!!==
很多都是个人理解~如果有说的不对的欢迎指正~~
学习iOS开发,发现很多东西都是现成的,用起来也顺手。也正因为app开发的控件和功能都是封装好的,使得爱疯爪机所有的app风格都比较统一,动画效果、手势也都很舒服。
先来说一说代理delegate:
通常,一个delegate的使用过程,需要五步:
1. 创建一个 delegate;
2. 委托者声明一个delegate;
3. 委托者调用delegate内的方法(method);
4. 被委托者设置delegate,以便被委托者调用;
5. 被委托者实现Delegate 所定义的方法。
代理的声明方式如下
protocol FaceViewDataSource: class{
func smilinessForFaceView(sender: FaceView) -> Double?
}
代理这样的声明好像有一点像抽象类,方法的实现,是在“继承”了这个代理的类中:delegate的一个用处就是在view和controller之间交换数据:
class HappinessViewController: UIViewController, FaceViewDataSource{
// blabla别的代码
func smilinessForFaceView(sender: FaceView) -> Double? {
return Double(happiness-50)/50
}
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
var destination = segue.destinationViewController as? UIViewController
if let navCon = destination as? UINavigationController{
destination = navCon.visibleViewController
}
if let hvc = destination as? HappinessViewController{
if let identifier = segue.identifier{
switch identifier{
case "sad": hvc.happiness = 0
case "happy": hvc.happiness = 100
default:hvc.happiness = 50
}
}
}
}
好像已经写了不少~作为一只兔子要去蹦跶一会儿了~~