代码之家  ›  专栏  ›  技术社区  ›  user142019

stringWithFormat:具有未知的数据类型

  •  2
  • user142019  · 技术社区  · 16 年前

    我正在做一个框架,我有这个代码( conditions

    for (NSString *key in conditions) {
        id value = [[conditions valueForKey:key] retain];
    
    
        // Check if number or string
        if ([value class] == [NSString class]) {
          conditionsString = [NSString stringWithFormat:@"%@='%@' ", key, value];
        } else {
          conditionsString = [NSString stringWithFormat:@"%@=%@ ", key, value];
        }
      }
    

    value 是NSString,应添加引号,否则不应添加代码。但是,如果不是NSString,我不知道 ,因为它可以是NSNumber、NSInteger、int、float、double等。。。我不能只用 %@ 或 %d

    2 回复  |  直到 16 年前
        1
  •  4
  •   nesium    16 年前

    看看 this .

        2
  •  0
  •   AndersK    16 年前

    您可以检查类(kindOfClass),然后使用适当的格式化程序。

    if ( [myObj isKindOfClass:[NSString class]] )