2014-10-10 89 views
2

我在swift項目中有一個'pickerView'對象。 我的確瞭解Objective-c中的代碼,但我不確定如何在Swift中實現它。StringWithFormat「%.2ld」objc swift

的Objc方法

-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component 
{ 
    switch (component) 
    { 
     case 0://Week 
      return 7; 
     case 1://Hour 
      return 24; 
     default://Minutes 
      return 60;//or 7;(10 by 10) //or 13;(5 by 5) 
    } 
} 

我只是不知道如何實現對titleForRow功能switch語句。 所以stringWithFormat:@"%.2ld",(long)row是問題所在。

-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component 
{ 
    switch (component) 
    { 
     case 0://Week 
      return _dayOfWeek[row]; 
     case 1://Hour 
      return [NSString stringWithFormat:@"%.2ld",(long)row]; 
     default://Minutes 
      return [NSString stringWithFormat:@"%.2ld",(long)row];//or ,row*10] //or ,row*5] 
    } 
} 

任何人都可以幫助我。

問候,DAX

回答

15

您可以繼續使用stringWithFormat,但初始名稱得到錯位一點點:

return NSString(format: "%.2ld", row) 

基本上就命名爲[{{class}} {{class}}WithXXXX:...]將任何類方法作爲{{Class}}(XXXX:...)

+2

您也可以使用String(格式:「%@」,a,b) – 2015-11-03 21:46:51

0

可以使用var str = NSString(format: "Hello, world %.2ld", 42.12312312313)

+0

{{Class}}(XXXX:...) 請注意,OP指定的值爲類型'(long)'不是浮點數。答案代碼產生:「你好,世界00」,這可能不是OP想要的。 – zaph 2014-10-10 13:42:32

+0

感謝您的回覆。不,我只需要輸出女巫是'numberOfRowsInComponent'中返回類型的整數。 – SwingerDinger 2014-10-10 14:05:10