- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
我正在检查我的一个应用程序中的一些旧代码,并修复可能存在问题的区域中的代码。
我看到很多旧代码使用...
NSRange range = //determine range here....
if(range.length > 0)
{
//do stuff
}
这个代码“好”吗,还是我应该改成这个?
NSRange range = //determine range here....
if(range.location != NSNotFound)
{
//do stuff
}
这两种方法在本质上是否相同?
最佳答案
这两项检查并不总是相同的。这取决于范围是如何生成的。示例:
NSRegularExpression *re = [NSRegularExpression
regularExpressionWithPattern:@"(?= )" options:0 error:NULL];
NSTextCheckingResult *result = [re firstMatchInString:@"hello world"
options:0 range:NSMakeRange(0, 11)];
NSLog(@"range = %@", NSStringFromRange(result.range));
范围的长度是 0,但它的位置是 5,不是 NSNotFound
。
关于ios - NSRange: range.location != NSNotFound 与 range.length > 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12827830/
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
NSNotFound 到底是多少? 根据 this帖子,它是 NSIntegerMax。(虽然我在 XCode 的 iOS 9.3 上找不到。) 那么在64位系统中,应该是2^64-1还是2^63-1
NSNotFound 的 Xcode 文档非常困惑: 上面写着“在 iOS 2.0 到 8.4 中可用”和“可用性:iOS 8.1 到 8.0”。所以... 8.0之前可以用吗?还是9.0+?另外,如
我需要知道是否有一种方法可以表明在 Java Android 中找不到 int 类型。我正在编写一个android应用程序,它实际上是首先为Iphone编写的,并且有一个小问题。在某些时候,我必须检查
因为我将一个 Integer 值存储到 NSUserDefaults 中,因为它在很多地方都被使用过。第一次它工作正常但是当我关闭我的应用程序并再次打开它时我检查用户是否已经选择了过去 feom NS
在上面的屏幕截图中,您可以看到 rangeOfString 返回了字符串“Why was #ThisIsACoup trending? - BBC News”中“DEnt”的位置 我希望它返回 NSN
我通过 Antony 找到了这个解决方案用于验证 URL。 - (BOOL)isValidURL { NSUInteger length = [self length]; // Emp
如果我有一个返回 CGFloat 的方法并且该方法找不到预期的数字怎么办,我想返回类似 NSNotFound 的东西,但那是一个 NSInteger。 最佳实践是什么? 最佳答案 您可以使用不是数字(
在向一些 Objective-C 代码添加桥接 header 后,我开始收到有关 NSNotFound 是不明确引用的编译器错误。我的猜测是它可以用某种模块前缀来修复... 最佳答案 是的。将其更改为
通过查看 NSTextCheckingResult 的文档,我的印象是如果在 NSRegularExpression 搜索中找不到匹配项,则 NSCheckingResult 的范围属性> 将被设置为
你好,我对 NSCalendar 的 rangeOfUnit() 方法有疑问。我得到 NSNotFound 值,而我期望值在 范围内(一个月中的周数)。真正让我担心的是它依赖于平台(不适用于 iOS
NSNotFound 定义为 NSIntegerMax,定义为 LONG_MAX。 NSRange.location 定义为 NSUInteger。 某些 Foundation 方法返回一个 NSRa
我有一个 nsmutablearray,我在一个 nsarray 的 for 循环中向它添加对象。我希望它添加对象,直到它从 NSArray 到达 indexOfObject: 中的 NSNotFou
我正在为 NSArray 开发一个类别,我实现的其中一个函数旨在返回数组中的字符串数(或不是数字)。这一切都很好,但我的问题是关于在输入数组的计数为零的情况下使用 NSNotFound 作为返回。 A
NSNotFound被定义为NSIntegerMax,在32位和64位有不同的值,这给持久化和分布式环境带来了很多不便。为什么不定义为-1呢? PS,在 ObjC 和 Cocoa 中,有些 index
我正在检查我的一个应用程序中的一些旧代码,并修复可能存在问题的区域中的代码。 我看到很多旧代码使用... NSRange range = //determine range here.... if(r
我正在使用 this名为 Vfr Reader 的开源控件可在我的应用程序中显示 pdf 文件。一切都在 iOS 7 上运行。在 iOS 更新后,当我尝试打开 pdf 文件时应用程序崩溃。 我正在使用
我有这个代码: NSIndexSet *indexes = [anOrderedSet indexesOfObjectsPassingTest:^BOOL(id obj, NSUInteger idx
我是一名优秀的程序员,十分优秀!