将具有byte []的类添加到iOS共享扩展(Xamarin)中的NSUserDefaults

Xamarin.iOS Share Extension中,我想将所选文件(例如pdf,图像,word等)存储在NSUserDefaults中,当主应用程序启动时,我将可以访问其中存储的文件。

这是我的文件类:

public class MyClass {    
    public string FileName { get; set; }
    public byte[] Content { get; set; } 
}

因此,DidSelectPost方法的LoadItem,我通过使用文件的byte []按对象创建然后为了将数据保存到NSUserDefaults中,我将对象转换为JSON如下(使用Newtonsoft.Json库):

string jsonString = JsonConvert.SerializeObject(myFileObject);

然后将其设置为NSUserDefaults对象,如下所示:

NSUser.SetValueForKey(new NSString(myFileObject), new NSString("FileSharing" + count));

要么

NSUser.SetValueForKey(new NSString(myFileObject), new NSString("FileSharing"+ count));

在我同步项目之后: NSUser.Synchronize());

一切正常,但是当打开主应用程序时,新数据不在这里。

string toDesralize = nSUser.StringForKey("FileSharing0");

我尝试了很多文件,但发现此问题仅适用于高度较低的文件,不适用于14mb等文件。如何在NSUserDefaults中保存高高度的文件还有其他方法可以完成相同的工作吗?

杰克华-MSFT

您可以使用文件系统在Xamarin.iOS中存储和读取数据:

    var documents = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
    var filename = Path.Combine(documents, "Write.txt");
    //save text
    File.WriteAllText(filename, "Write this text into a file");
    //save bytes
    File.WriteAllBytes(filename,yourBytes);

和读取方法:

    var text = File.ReadAllText("TestData/ReadMe.txt");
    Console.WriteLine(text);
    var bytes = File.ReadAllBytes("path");

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将扩展类添加到ArrayList

来自分类Dev

将类添加到具有现有类的元素中

来自分类Dev

如何将项目添加到具有其他类的类中

来自分类Dev

将类添加到具有angular且没有jquery的指令内的元素中

来自分类Dev

将类添加到所有具有相同文件扩展名的锚标记

来自分类Dev

将具有特定名称的方法添加到已创建的类实例中

来自分类Dev

将类添加到包含<a>且具有指定href的div表中

来自分类Dev

将类添加到具有两个元素的变量中存储的元素

来自分类Dev

将新节点添加到具有两个类的链表中

来自分类Dev

将类添加到具有两个元素的变量中存储的元素

来自分类Dev

jQuery将类添加到具有特定z-index的div中

来自分类Dev

将Xamarin组件添加到共享代码

来自分类Dev

如果在iOS 7上的“有能力”的webapp中,将类添加到<body>

来自分类Dev

仅当所有td都具有某个类时,才如何将类添加到tr中?

来自分类常见问题

扩展java.base模块(将类添加到java.net包中)

来自分类Dev

kotlin,如何将扩展功能添加到已定义的类伴侣对象中

来自分类Dev

扩展java.base模块(将类添加到java.net包中)

来自分类Dev

无法将扩展方法添加到C#中的抽象类

来自分类Dev

C#将扩展Append方法添加到类型T的类数组中

来自分类Dev

将类添加到当前div中,尽管其他div在jquery中具有相同的类名

来自分类Dev

如何将类添加到具有不在数组中的类名称的元素中

来自分类Dev

将类添加到当前div中,尽管其他div在jquery中具有相同的类名

来自分类Dev

如何将类添加到具有不在数组中的类名称的元素中

来自分类Dev

将扩展模块添加到groovy类

来自分类Dev

将扩展模块添加到groovy类

来自分类Dev

将类添加到具有特定类的所有元素

来自分类Dev

Dia将现有类添加到包中

来自分类Dev

将属性添加到库中的现有类

来自分类Dev

将具有设置值的列添加到表中,为每一行扩展表

Related 相关文章

  1. 1

    将扩展类添加到ArrayList

  2. 2

    将类添加到具有现有类的元素中

  3. 3

    如何将项目添加到具有其他类的类中

  4. 4

    将类添加到具有angular且没有jquery的指令内的元素中

  5. 5

    将类添加到所有具有相同文件扩展名的锚标记

  6. 6

    将具有特定名称的方法添加到已创建的类实例中

  7. 7

    将类添加到包含<a>且具有指定href的div表中

  8. 8

    将类添加到具有两个元素的变量中存储的元素

  9. 9

    将新节点添加到具有两个类的链表中

  10. 10

    将类添加到具有两个元素的变量中存储的元素

  11. 11

    jQuery将类添加到具有特定z-index的div中

  12. 12

    将Xamarin组件添加到共享代码

  13. 13

    如果在iOS 7上的“有能力”的webapp中,将类添加到<body>

  14. 14

    仅当所有td都具有某个类时,才如何将类添加到tr中?

  15. 15

    扩展java.base模块(将类添加到java.net包中)

  16. 16

    kotlin,如何将扩展功能添加到已定义的类伴侣对象中

  17. 17

    扩展java.base模块(将类添加到java.net包中)

  18. 18

    无法将扩展方法添加到C#中的抽象类

  19. 19

    C#将扩展Append方法添加到类型T的类数组中

  20. 20

    将类添加到当前div中,尽管其他div在jquery中具有相同的类名

  21. 21

    如何将类添加到具有不在数组中的类名称的元素中

  22. 22

    将类添加到当前div中,尽管其他div在jquery中具有相同的类名

  23. 23

    如何将类添加到具有不在数组中的类名称的元素中

  24. 24

    将扩展模块添加到groovy类

  25. 25

    将扩展模块添加到groovy类

  26. 26

    将类添加到具有特定类的所有元素

  27. 27

    Dia将现有类添加到包中

  28. 28

    将属性添加到库中的现有类

  29. 29

    将具有设置值的列添加到表中,为每一行扩展表

热门标签

归档