我有一个file:///var/mobile/Containers/Data/Application/3C80B7F1-F0AA-4723-B7F5-E7AC5E71CA09/Documents/2018-Nov-12%2014:09:01output.mov
之类的videoURL
我通过使用以下代码将其转换为DATA来保存此videoURL。
let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
let entity = NSEntityDescription.entity(forEntityName: "Device", in: context)
let newEntity = NSManagedObject(entity: entity!, insertInto: context)
self.videoData = NSData(contentsOf: self.videoURL as URL)! as Data
newEntity.setValue(self.videoData, forKey:"videoURL")
do {
try context.save()
print("saved")
} catch {
print("not saved")
}
但是获取时我无法将此数据转换为url。谁能指导我如何完成这项任务?
答案 0 :(得分:1)
您要保存加载的视频数据,而不是URL。
将属性Utilities.ProgressBar
的类型设置为public static ProgressDialog ProgressBar(Context context, string position)
{
var pbr = new ProgressDialog(context);
pbr.SetCancelable(false);
pbr.Indeterminate = true;
pbr.SetProgressStyle(ProgressDialogStyle.Spinner);
switch (position.ToLower())
{
case "c":
pbr.Window.SetGravity(GravityFlags.Center);
break;
case "b":
pbr.Window.SetGravity(GravityFlags.Bottom);
break;
}
pbr.SetMessage("please wait..");
return pbr;
}
,并将相应属性的类型设置为videoURL
,然后保存URI
顺便说一句,请勿使用URL
和self.videoURL
之类的NS
类,而应使用NSURL
和NSData
之类,强烈建议使用点符号访问URL
属性时,而不是KVC Data
(value(forKey:)
答案 1 :(得分:0)
很抱歉,但这是错误的。为什么要将URL转换为数据?您只需将URL保存为字符串,然后获取此字符串并使用URL