gpt4 book ai didi

iOS 8.3 SDK 在强制属性声明和区分大小写方面发生了变化

转载 作者:行者123 更新时间:2023-11-29 12:24:43 24 4
gpt4 key购买 nike

在 8.3 之前,这段代码存在于我正在处理的代码库中(当然我不知道)

NSNumberFormatter *nf = [[NSNumberFormatter alloc] init];
nf.NumberStyle = NSNumberFormatterDecimalStyle;

现在,检查类引用显示该属性的名称实际上是

nf.numberStyle

但出于某种原因,这是在 8.2 中编译的,而不是在 8.3 中编译的。我还看到 8.3 迫使我使用 @dynamic 来覆盖父类(super class)的属性 setter 。我知道我应该这样做,我会做出改变,但它在 8.2 中有效。

我的代码库中有很多这样的错误。我查看了 release notes并且还没有看到 Apple 在任何地方记录对 SDK 的这些更改。我缺少一些文档吗?是否有一份更详尽的 list ,列出了 Apple 所做的所有更改?

最佳答案

这是一个很好的问题。也许编译器处理 @properties 的方式在 8.3 中发生了变化。这篇文章很好地解释了为什么属性的 setter 的首字母以前不区分大小写:https://stackoverflow.com/a/15411523/171933

基本上看起来好像 foo.bar = 1foo.Bar = 1 都变成了 [foo setBar:1] .所以它适用于 setter,但不适用于 getter。

似乎这种行为在 8.3 中发生了变化。

关于iOS 8.3 SDK 在强制属性声明和区分大小写方面发生了变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29564806/

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