将带有字节的类[]添加到iOS共享扩展(Xamarin)中的NSUserDefaults中

问题描述 投票:1回答:1

Xamarin.iOS共享扩展名]中,我想将我选择的文件(如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());

一切都很好,但是当

main application

打开时,新数据不在这里。
string toDesralize = nSUser.StringForKey("FileSharing0");
我已经尝试了许多文件,但我发现此问题仅适用于高度较低的文件,不适用于14mb等文件。如何在

NSUserDefaults

中保存高高度的文件?还有其他方法可以完成相同的工作吗?
在Xamarin.iOS共享扩展程序中,我想将所选文件(如pdf,图像,word等)存储在我的NSUserDefaults中,当主应用程序启动时,我将可以访问其中存储的文件。 ...
ios xamarin.ios nsuserdefaults share-extension
1个回答
3
投票
您可以使用file system在Xamarin.iOS中存储和读取数据:
© www.soinside.com 2019 - 2024. All rights reserved.