gpt4 book ai didi

iphone - 新 NSString substringWithRange : Error Message

转载 作者:行者123 更新时间:2023-12-03 18:04:36 26 4
gpt4 key购买 nike

我在 iOS 4 中遇到了一个有趣的新错误:

-[NSCFString substringWithRange:]: Invalid range {11, 4294967295}; this will become an exception for apps linked on SnowLeopard. Warning shown once per app execution.

该错误是由我从博客文章中获取的一段代码引起的,该代码有助于标题大小写字符串,并且修复起来并不困难,但我没有在其他地方看到过这一点,而且我假设苹果希望人们停止使用神奇的 4294967295 号码。

有人知道这一变化的历史/背景吗?

编辑:标题案例代码的来源位于:http://vengefulcow.com/titlecase/这是 Objective-C 端口(显然)。 116 号线是罪犯。显然,只有在某些特定条件下这才是问题。我仍在追踪它。

最佳答案

无符号 4294967295 与 -1 的有符号 uint32_t 值相同。我见过 32 位应用程序存档 -1 和 64 位应用程序将其取消存档为 Big Ass Length 的问题(当 Xcode 在 64 位带来期间调用 malloc(4294967295) 时,非常有趣上)。

Cocoa 框架检测到您传递的范围的长度比字符串本身长。现在警告,结果被截断,但将来这将是一个硬错误。

(在某些情况下,NSNotFound 可能会导致此类问题)。

关于iphone - 新 NSString substringWithRange : Error Message,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3328328/

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