NSPropertyListSerialization propertyListWithData 产生不兼容的转换警告/错误

2024-01-06

我正在尝试使用以下代码从 plist 中读取数据:

NSString *error;    
NSData * tempData = [[NSData alloc] initWithContentsOfFile:@"Data.plist"];
NSDictionary *temp = [NSPropertyListSerialization propertyListWithData:tempData options:NSPropertyListImmutable format:NSPropertyListXMLFormat_v1_0 error:&error];

它会发出警告/错误,指出:

“不兼容的整数到指针转换将“int”发送到“NSPropertyListFormat”类型的参数(又名“unsigned int *”)。

我不知道发生了什么事。我从代码提示选项中选择了 NSPropertyListXMLFormat_v1_0。

另外,到目前为止,我在文档中找不到这样做的基本原理:为什么必须为“error”声明一个指针变量,然后使用“&error”作为 error: 的参数。 & 符号有什么用?


当你试图read数据使用NSPropertyListSerialization,您不指定格式:您要么传入 NULL,要么传递变量的内存地址。

NSError *error;    
NSData * tempData = [[NSData alloc] initWithContentsOfFile:@"Data.plist"];
NSPropertyListFormat plistFormat;
NSDictionary *temp = [NSPropertyListSerialization propertyListWithData:tempData options:NSPropertyListImmutable format:&plistFormat error:&error];

& 符号的意思是“内存中存储该变量的地址”——通过使用它,您可以使该方法能够写入该内存位置,并替换变量的原始内容。两个都plistFormat和(可能)error调用此方法后将包含一些新内容:plistFormat会告诉youplist 的格式是什么,而不是相反的格式,以及error(这应该属于类NSError)将告诉您遇到的任何错误。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NSPropertyListSerialization propertyListWithData 产生不兼容的转换警告/错误 的相关文章

  • 如何在 URL 类型 info-plist 中添加图像?

    我无法在信息列表中的 URL 类型中添加图像 图像已添加到 Assets xcassets 中 请帮助我 我搜索有关 URL 类型的信息 但没有得到任何解决方案 为了将图像添加到 URL 类型 您需要在项目文件夹中添加图像 然后在其中键入图
  • SwiftUI 中如何防止键盘推高视图? [复制]

    这个问题在这里已经有答案了 我是 SwiftUI 编程新手 我已经创建了一个视图 但是一旦用户点击文本字段 键盘就会出现 整个视图就会向上推 我该如何解决这个问题 我相信你可以使用 ignoresSafeArea keyboard 我在 X
  • 更改 UIView 的变换不会影响约束

    在 iOS 11 中 更改 UIView 的变换属性 例如缩放 不会影响绑定到该视图的约束 在 iOS 10 中一切都按预期工作 我有代码 import UIKit class TestViewController UIViewContro
  • 在 Objective-C 中使用 perl?

    CPAN 有大量非常有用的库 除了将它们移植到 Objective C 之外 是否还有在 iOS 上将 Perl 代码嵌入到 Objective C 中的方法 我对使用特别感兴趣电子表格 阅读 http kobesearch cpan or
  • Xcode:仅在默认状态下设置按钮上的图像,也未选择

    一般来说 我是 Xcode 和 iPhone 编程的新手 我有一个简单的问题困扰着我 我想在按钮上设置图像 因为它是默认状态 所以我选择按钮 并在 显示属性检查器 选项卡中 选择 状态配置 作为默认值 然后在 图像 下拉列表中找到所需的图像
  • Parse.com PFUser 链接 Twitter 和 Facebook 帐户?

    我在用parse com作为我的应用程序的后端 它使用户能够通过他的 Facebook 或 Twitter 帐户登录 它还具有将 Twitter Facebook 链接到他预先存在的帐户的功能 问题是这样的 如果用户通过他的facebook
  • 如何将 UIWebView 中的输入的键盘按钮“返回”更改为“搜索”?

    我有一个简单的 HTML 文件 它将显示在 UIWebView 中 p p
  • 使用“dispatch_async(dispatch_get_main_queue(),^{block})”更新UI

    我想更新 NSURLSession 的完成块中的 UI 最初的实现并没有立即更新 UI 大约 20 秒后它更新了 UI 这是最初的实现 NSURLSessionDataTask task self session dataTaskWithR
  • 如何防止点击 Google 地图中的标记时相机移动?

    我正在使用适用于 iOS 的 Google 地图 SDK 我想在点击标记时防止相机移动 我怎样才能做到呢 在viewDidLoad中添加以下代码 BOOL mapView GMSMapView mapView didTapMarker GM
  • iOS上传崩溃报告符号文件失败

    Users appledev018 LarsonApp Pods FirebaseCrash upload sym util bash 335 错误 curl 以非零状态 35 退出 hello 命令 bin sh 发出错误 但未返回非零退
  • 通过派生指针调用基类函数

    Objective C 如何使用派生指针调用基类函数 其中 foo 在派生类中被重写 本质上相当于这个 C 代码 base b ptr 0 derived d ptr new derived d gt base foo 我认为这应该相当简单
  • 加快故事板打开速度

    当我打开 Storyboard 文件时 由于其中包含 VC 的数量 需要 1 2 分钟才能打开 加快速度的最佳做法是什么 我们是否应该将一些 VC 移动到不同的故事板文件中 我们是否应该使用更多的 xib 文件来减少 VC 中的元素数量 对
  • Xcode 6 无法在 Swift 中自动完成

    我正在尝试导入各种库 但我不记得它们的确切名称 很遗憾Xcode6 使用swift 不会像中那样自动完成它们Xcode5 使用objective c 例如 ALAssetsLibrary MPMediaPlayer etc 我被迫用谷歌搜索
  • PreferredStatusBarStyle 不起作用[重复]

    这个问题在这里已经有答案了 我以前用过setStatusBarStyle在我的项目中 它工作正常 但它已被弃用 所以我使用preferredStatusBarStyle 那不起作用 知道我已经 调用方法setNeedsStatusBarAp
  • 使用 Firebase/Analytics pod 时 SwiftUI 预览不起作用

    似乎在将 Xcode 12 更新到 beta 5 后 使用 Firebase Analytics pod 时 SwiftUI 预览不再工作 预览失败并出现错误 linker command failed with exit code 1 u
  • Spotify:使用网络 API 登录不接受重定向 URL

    我正在尝试使用 Web API 登录 Spotify 因为我不需要会话对象 在我的授权方法中 我需要传入重定向 url 但 GET 请求中不接受 iOS 重定向 url 的格式化方式 func authorize create the ur
  • 如何将此脚本安装到 PhoneGap for iOS 中

    我不了解任何 Objective C 这就是我使用 PhoneGap 来创建 iOS 应用程序的原因 iOS 版 PhoneGap 存在一个很大的缺陷 键盘上经常有表单助手 下一个 上一个 和 完成 按钮 网上关于如何摆脱这个的信息很少 所
  • Java反序列化中避免重复对象

    我有两个列表 list1 和 list2 其中包含对某些对象的引用 其中某些列表条目可能指向同一对象 然后 由于各种原因 我将这些列表序列化为两个单独的文件 最后 当我反序列化列表时 我想确保我不会重新创建超出需要的对象 换句话说 List
  • 在 Swift 中在地图上显示路线

    我试图在苹果地图上绘制两点之间的路线 Swift 代码 下面的结构体用于存储坐标 struct GeoLocation var latitude Double var longitude Double func distanceBetwee
  • iPhone 和服务器上的 3DES 加密不同

    我有以下代码用于加密发送到服务器的请求 服务器上的解码由 NET 完成 在 iPhone 上 我使用带有以下代码的安全框架 NSString doCipher NSString plainText CCOperation encryptOr

随机推荐