2012-01-11 10 views
2
cell.textField.text = [contact valueForKey:formCell.variableName]; 

私は未知のタイプのものであり得るvalueForKeyに任意のデータ型を変換し、それは私はNSStringのに値を変換したいのNSNumber、int型、float型、NSStringの...NSStringの

することができます。 NSStringのstringWithFormatを使用して

は、書式指定子を指定する必要があり、オブジェクトの型が

+1

連絡先はNSdictionary .. ?? – userar

答えて

4
  1. valueForKey:の値を表す文字列として実装されています。代わりに、NSNumberにそれらをラップします。詳細here

  2. したがって、を使用してstringWithFormat:で表すことができます。

  3. descriptionの方法をNSObjectのように使用することもできます。[[contact valueForKey:formCell.variableName] description]

+0

NSNumberに興味があります。私の場合の最終コード '[NSString stringWithFormat:@"%@ "、[dict valueForKey:@" key "]]' –

-1
cell.textField.text = [NSString stringWithFormat:@"%@",[contact valueForKey:formCell.variableName]]; 
+0

NSObjectのdescriptionメソッドを[[contact valueForKey:formCell.variableName] description]のように使用することもできます。 – Hanuman

3

実行時に知られている任意のオブジェクト上で動作-descriptionメッセージがありますNSObjectから降り:

cell.textField.text = [[contact valueForKey:…] description]; 

使い方%@フォーマット指定子は、バックグラウンドで-descriptionを呼び出します。そのため、2つがほとんど同等です。直接-descriptionコールのみが短く、おそらくより効率的です。

1

あなたが記述方法を使用して試すことができます:

cell.textField.text = [[contact valueForKey:formCell.variableName] description]; 

通常、それは、intまたはfloatを返すことはありませんオブジェクト