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、int、float、doubleなどです...私はただ使用できません %@
また %d
しかし、私は誰かがこれを行う方法を知っていると確信していますか?ありがとう。
解決
見て これ.
編集:あなたの場合、nsdictionaryはnsobjectsのみを含むことができるため、非常に簡単です。したがって、%@がトリックを行います。
他のヒント
クラス(Kindofclass)を確認してから、適切なフォーマッタを使用できます。
例えば
if ( [myObj isKindOfClass:[NSString class]] )
所属していません StackOverflow