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

的valueForKey我得到的是未知類型的,也可以是的NSNumber,整數,浮點,NSString的..轉換任何數據類型的NSString

我想價值的NSString轉換。使用的NSString stringWithFormat

,應指定格式說明,對象的類型是在運行時已知

+1

contact是NSdictionary .. ?? – userar 2012-01-11 09:13:27

回答

4
  1. valueForKey:的價值永遠不會返回intfloat。相反,它會將它們包裝成NSNumber s。詳細信息here

  2. 因此,您可以使用"%@"代表他們stringWithFormat:

  3. 您還可以使用description方法NSObject這樣的:[[contact valueForKey:formCell.variableName] description]

+0

有趣的是NSNumber。最後的代碼在我的情況'[NSString stringWithFormat:@「%@」,[dict valueForKey:@「key」]]' – 2016-08-29 08:16:21

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

你也可以像這樣使用NSObject的描述方法:[[contact valueForKey:formCell.variableName] description]。 – Hanuman 2012-01-11 11:08:29

3

有一個-description消息,任何對象的作品從NSObject下降:

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

使用%@格式說明符在後臺調用-description,因此兩者大部分是等效的,只有直接調用-description更短,可能更有效。

1

,你可以嘗試使用的描述方法:

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

通常情況下,它的實現爲字符串,表示對象