存档时Xcode中存在几个键入问题的问题

时间:2014-05-30 19:15:45

标签: xcode type-conversion

构建时我没有得到任何警告但是在归档时我收到了很多涉及stringWithFormat的输入警告和一个使用NSNotFound的问题。我能够解决除了一个之外的所有stringWithFormat问题,并且仍然被NSNotFound问题困扰。这些列在下面。谢谢你的帮助

以下代码......

    if ([[NSString stringWithFormat:@"%.*s", [data length], [data bytes]] isEqualToString:@"Success"]) {
        return YES;
    } 

为格式字符串生成此警告...

  

字段精度应该有' int',但参数的类型为' NSUInteger' (又名' unsigned long')

以下代码......

    if (![_response rangeOfString:@"|TreatmentCards|0|"].location == NSNotFound) {
         return NO;

    }

...生成

  

常数和NSNotFound的比较' (9223372036854775807)表达式为' int'总是假的

1 个答案:

答案 0 :(得分:0)

抓取可变数组的索引时遇到了这个问题。这个link有助于理解该问题。问题的根源是返回的数据类型永远不会达到NSNotFound。相反,将它设置为:

NSUInteger location = [_response rangeOfString:@"|TreatmentCards|0|"].location;

if (location != NSNotFound) {
    return NO;
}

可能有一种更清洁的方式,但这应该有效。如果将长度声明为数据类型int的变量,它也可用于上述问题。