多张照片拍摄、图片浏览

  

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

posted @ 2016-01-15 17:01  请叫我阿亮  阅读(338)  评论(0编辑  收藏  举报