StringWithFormat"%.2ld"objc to swift

Swi*_*ger 2 objective-c uipickerview stringwithformat ios swift

我在swift项目中有一个'pickerView'对象.我确实理解Objective-c中的代码,但我不确定如何在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)
    }
}
Run Code Online (Sandbox Code Playgroud)

我只是不确定如何为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]
    }
}
Run Code Online (Sandbox Code Playgroud)

谁能帮我.

问候,达克斯

Dav*_*rry 15

您可以继续使用stringWithFormat,但初始化程序名称会受到一些损坏:

return NSString(format: "%.2ld", row)
Run Code Online (Sandbox Code Playgroud)

基本上任何已命名的类方法[{{class}} {{class}}WithXXXX:...]都将重命名为初始化器{{Class}}(XXXX:...)

  • 你也可以使用String(格式:"%@",a,b) (2认同)