iOS Swift App附带更多照片:性能和存储建议

时间:2017-05-11 22:02:25

标签: ios swift firebase core-data swift3

我正在尝试开发用户上传照片的iOS应用程序,有人可以建议最好和最有效的方法来处理存储和性能问题。 考虑每个用户将在一个月内上传大约300张照片(最糟糕的情况)。 我的基本想法是在本地使用文档目录来存储图像,然后将其与FireBase同步。

我是iOS开发应用的初学者,愿意了解启动应用的最佳做法。

谢谢

1 个答案:

答案 0 :(得分:1)

你可以采取下一个方式:

1)将文件上传到firebase存储并获取下载URL:

static func upload(_ image: UIImage,
                  completion: @escaping (_ hasFinished: Bool, _ url: String) -> Void) {
let data: Data = UIImageJPEGRepresentation(image, 1.0)!

// ref should be like this
let ref = FIRStorage.storage().reference(withPath: "media/" + userId + "/" + unicIdGeneratedLikeYouWant)
ref.put(data, metadata: nil,
                   completion: { (meta , error) in
                    if error == nil {
                       // return url
                       completion(true, (meta?.downloadURL()?.absoluteString)!)
                    } else {
                       completion(false, "")
                    }
  })

然后将上传照片的网址保存到FIRDatabase的用户节点。它看起来像:

enter image description here

但它将是帖子ID,而不是mediaRef10mediaRef700

因此,您将拥有用户节点链接到照片,并且您可以轻松地获得良好的性能。