【问题标题】:How to create a PFFile from a url in Swift如何在 Swift 中从 url 创建 PFFile
【发布时间】:2015-11-21 15:35:54
【问题描述】:

给定一个指向解析中的 PFFile 的 URL,我该如何重构 PFFile?

我在文档中找不到任何解释此过程的内容。有可能吗?

【问题讨论】:

    标签: ios swift parse-platform


    【解决方案1】:

    PFFile 有一个私有构造函数,您可以使用它从 url 和文件名创建实例。

    只需将以下代码添加到您的桥接头:

    #import <Parse/Parse.h>
    
    NS_ASSUME_NONNULL_BEGIN
    
    @interface PFFile (PrivateAdditions)
    + (instancetype)fileWithName:(NSString *)name url:(NSString *)url;
    @end
    
    NS_ASSUME_NONNULL_END
    

    你可以像这样在 Swift 中使用它:

    let file = PFFile.file(withName: fileName, url: fileURL)
    

    文件名应与 url 的最后一个路径部分匹配。

    【讨论】:

    • 感谢@deadbeef 的回答。名称 required 是否与 url 的最后一个路径组件相同?而且,如果是这样,您是否碰巧有一个 sn-p 来提取它?一直试图从 Obj-C 迁移到 Swift,但学习曲线让我放慢了速度。另外,你知道这是否会在服务器上创建一个新的 PFFile 吗?我可以将此 PFFile 与 PFImageView 一起使用吗?
    • 最简单的方法是从 url 字符串创建一个URL 对象并使用它的lastPathComponent 属性,如下所示:URL(string: "http://.../fileName.ext")?.lastPathComponent。这不会在服务器上创建文件,文件必须已经存在。您可以在任何使用常规PFFile(包括PFImageView)的地方使用它
    • 名称不是必需来匹配最后一个路径组件,但由于您正在重建现有的PFFile,它应该匹配,因为当Parse 总是会创建文件。
    • 太棒了。所以看起来名称很容易获取,但如果我显示此图像,而不进行任何形式的保存或将其附加到对象,也没有必要?
    • 这是私有 API,这意味着可能无法防止错误使用。如果我是你,我会完全按照预期使用它。
    【解决方案2】:

    PFFile 的原始代码不允许从 url 重构 PFFile,唯一的方法是将用于保存数据的 PFFile 实例保存在内存中。这是令人沮丧的,因为我们不能将它保存到本地以便以后使用它。

    我也在研究替代方案。如果有人可以帮助我们,我们将不胜感激。

    【讨论】:

      猜你喜欢
      • 2023-04-02
      • 2020-03-15
      • 2016-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多