2014-10-10 54 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