stringWithFormat:未知数据类型
-
27-09-2019 - |
题
我提出的框架和我有此代码(conditions
是一个NSDictionary):
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,我不知道value
的数据类型,因为它可能是的NSNumber,NSInteger的,整型,浮点,双,等...我不能只用%@
或%d
但我敢肯定有人在SO知道如何做到这一点?感谢。
解决方案
看看此
编辑:在您的情况下,它是很容易的,因为NSDictionary中只能包含nsobjects。所以%@会做的伎俩。
其他提示
您可以检查类(kindOfClass),然后使用合适的格式化程序。
e.g。
if ( [myObj isKindOfClass:[NSString class]] )
不隶属于 StackOverflow