多张照片拍摄、图片浏览

  

公司需要做一个上传多张照片,附带照片浏览功能。类似微信发朋友圈时的拍摄多张图片,图片浏览,带占位符的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

原文地址:https://www.cnblogs.com/zhangmaliang/p/5133750.html