2018-08-01

在swift中提供三种处理异常的方式
方式一:try方式 程序员手动捕捉异常
do {
try NSJSONSerialization.JSONObjectWithData(jsonData,options: .MutableContainers)
}
catch {
print(error)
}
方式二: try?方式(常用方式)系统帮助我们处理异常,如果该方法出现了异常,则该方法返回nil,如果没有异常,则返回对应的对象
guard let anyObject = try? NSJSONSerialization.JSONObjectWithData(jsonData,options: .MutableContainers)else{
return
}
方式三:try!方法(不建议,非常危险)直接告诉系统,该方法没有异常
注意,如果该方法出现了异常,那么系统会报错(崩溃)
let anyObject = try!NSJSONSerialization.JSONObjectWithData(jsonData,options: .MutableContainers)

Swift中以class开头的类方法相当于类的静态方法
convenience : 便利,使用convenience修饰的构造函数叫做便利构造函数,便利构造函数通常用在对系统的类进行构造函数的扩充时使用
便利构造函数的特点:
便利构造函数通常都是写在extension里面
便利构造函数init前面需要加载convenience
在便利构造函数中需要明确的调用self.init( )
Swift中事件监听
selector两种写法:
1.composeBtn.addTarget(self,action:Selector("composeBtnClick"),forControlEvents: .TouchUpInside)
2.composeBtn.addTarget(self,action:"composeBtnClick",forControlEvents: .TouchUpInside)
事件监听本质发送消息,但是发送消息是oc的特性
将方法包装成@SEL --> 类中查找方法列表 -->根据@SEL找到imp指针(函数指针)-->执行函数
如果swift中将一个函数声明称private,那么该函数不会被添加到方法列表中
如果在private前面加上@objc,那么该方法依然会被添加到方法列表中
isLogin = false -> 展示访客视图
isLogin = true ->展示正常的信息
访客视图的目标:
如果用户没有登录,显示访客视图,提示用户注册或者登录
自定义 TableViewController 的基类 VisitorViewController
自定义访客视图,用代码实现苹果原生的自动布局
设置全局外观
在实际应用开发中,有可能会出现,功能框架已经构建完成,产品经理提出新的功能需求,会对已有的架构产生影响
创建动画
设置动画的属性
将动画添加到layer中
获取转场的上下文:可以通过转场上下文获取弹出的view和消失的view
UITransitionContextFromViewKey:获取消失的View
UITransitionContextToViewKey:获取弹出的View

你可能感兴趣的:(2018-08-01)