多张照片拍摄、图片浏览
公司需要做一个上传多张照片,附带照片浏览功能。类似微信发朋友圈时的拍摄多张图片,图片浏览,带占位符的textView等
OC版本做了大概三个小时,然后今天用swift重写了下,who know花费一整天,各种崩溃,两种语言直接还是有较大差别的,差别点稍微列举如下
1、运行时的动态绑定差别,已验证
objc_setAssociatedObject(self, "key", 3, .OBJC_ASSOCIATION_ASSIGN)
let obj = objc_getAssociatedObject(self, "key")
swift中,上面两句代码如果在不同的方法中,则obj会是nil。OC中则能取出绑定对象3
2、拍照完成后代理方法中,照片信息字典editingInfo里面没有UIImagePickerControllerEditedImage这个key
func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage, editingInfo: [String : AnyObject]?)
3、OC中,我在photoBrower控制器中定义一个可变数组,让它指向自身控制器的一个可变数组,则一旦任何一方该数组内容变化另外一方也会变化,而swift中并不会这样,可能是swift默认会执行深拷贝,产生了两个独立的对象,已经通过打印数组地址确认,swift中两个数组地址不同,而OC中是一个地址
4、OC中,控制器photoBrower并不用加下面代码,而swift必须加
self.automaticallyAdjustsScrollViewInsets = false
swift确实能省下不少代码,界面干净整洁,优雅,需要多大练习。
github地址: https://github.com/zhangmaliang/UploadImage