gpt4 book ai didi

iphone - 什么是 key 以及如何使用它们?

转载 作者:行者123 更新时间:2023-11-29 04:33:52 25 4
gpt4 key购买 nike

我正在开发一个 iCloud 兼容应用程序,并且正在研究如何检测文件是否正在上传/下载或已完成。 我发现可以使用 NSURL“键” 检测到这一点,例如 NSURLUbiquitousItemIsDownloadingKeyNSURLUbiquitousItemIsUploadingKey。我还在努力学习编程,那么这些键是什么?我如何使用它们来检测文件的状态(我希望应用程序知道文件何时完成上传到 iCloud 或完成下载(无论设备位于哪一侧))。

我读到我可以使用 resourceValuesForKeys:error: 来查询这些键的状态,所以我是否会将其放入 IF 语句中并查看结果是否符合预期,例如“yes”或没有”?感谢您的帮助。

if ([destination resourceValuesForKeys:[NSArray arrayWithObject:NSURLUbiquitousItemIsUploadingKey] error:NULL]) {

//is uploading??

}

最佳答案

您建议的代码看起来几乎可行,但有一件事:resourceValuesForKeys:error: 返回一个字典,其键与您传入的常量相同,其值如 the documentation for those keys 中指定。 。对于 NSURLUbiquitousItemIsUploadingKey,该值是包装 BOOL 值的 NSNumber 实例。

所以...假设destination是一个NSURL,指向你无处不在的容器中的一个项目:

NSError *error;
NSArray *keys = [NSArray arrayWithObject:NSURLUbiquitousItemIsUploadingKey];
NSDictionary *values = [destination resourceValuesForKeys:keys error:&error];
if (values == nil)
NSLog(@"error: %@", error);
else if ([[values objectForKey:NSURLUbiquitousItemIsUploadingKey] boolValue])
NSLog(@"uploading");
else
NSLog(@"not uploading");

如果您只查询一个键,则可以使用getResourceValue:forKey:error:更简洁一点。

关于iphone - 什么是 key 以及如何使用它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11315555/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com