我对此功能有疑问:
- (bool) test : (NSString *) chaine
{
NSLog(@"%i",[chaine length]);
if([chaine length] == 19) NSLog(@"Test");
}
我的日志中正确地有19个,但不是“测试”。所以你知道什么是错的吗?
非常感谢
答案 0 :(得分:3)
我试过这个
- (void)testFunction{
NSString * aStrFunc= @"StackOverflow";
NSLog(@"%d",[aStrFunc length]);
NSLog(@"%@",[aStrFunc length]==13?@"test right":@"test not right");
}
答案 1 :(得分:0)
尝试使用此代码:
- (bool) test : (NSString *) chaine
{
//CGFloat len = (float)[chaine length];
NSUInteger len = [chaine length];
NSLog(@"%i", len);
//if (19.0f == len)
if (19 == len)
{
NSLog(@"Test");
}
}
答案 2 :(得分:-2)
试试这个
NSData* data=[chaine dataUsingEncoding:NSUTF8StringEncoding];
NSLog(@"@s",[data bytes]);//watch the string's bytes possibly you have some unprintable symbols here
if ([data length] == 19) {
NSLog(@"Test");
}