質問

私はフレームワークを作成していて、このコードがあります(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]] )
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top