Swift 学习笔记(六)
2019-02-19
- as 用于强制转换类型
//类型一
let a = 123 as CGFloat
let b = 1.2 as Int
//类型二 派生类转换为基类
class Base{}
class Son: Base{}
let s = Son()
let f = s as Base
//类型三 用于switch匹配类型
switch unname{
case let s as Son:
//是Son类型进行的操作
case let f as Base:
//是Base类型进行的操作
default: break
}
- as! 转换失败时会报运行错误
//基类转换为派生类
class Base{}
class Son: Base{}
let base: Base = Son()
let son = base as! Son
-
as? 与as! 基本一样, 转换失败时变量被赋值为nil //确认能成功应使用as!
-
关于相机拍照后的图片保存 选取照片之后可以通过写这个函数进行接下来的操作
//完成拍摄后
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
let gotImage:UIImage! = (info[UIImagePickerController.InfoKey.editedImage] as! UIImage) //保存编辑后的图像
print("拍照完成")
picker.dismiss(animated: true, completion: nil) // 关闭相机
self.myView.image = gotImage // 设置myView图片 (编辑后的)
UIImageWriteToSavedPhotosAlbum(gotImage, nil, nil, nil)
}
图片的信息都保存在 info 中, 可以print(info)
查看
关于UIImageWriteToSavedPhotosAlbum函数的参数: 参考资料