いつもお世話になります。見当違いというか違う方法のほうがよい場合はご指摘ください。
double
をString
に変換する処理をdouble
のextension
を記述して行いたいのですが。
引数を渡して返ってくるString
を変えるにはどのように書けばよいでしょうか?
↓とりあえず書いたもの
swift
1import Foundation 2 3extension Double { 4 var displayTimeStr: String { 5 let sec = Int(self) 6 let msec = Int((self - Double(sec)) * 100) 7 let timeStr = NSString(format: "%02d:%02d:%02d.%02d", sec / 3600, sec % 3600 / 60, sec % 60, msec) as String 8 return timeStr 9 } 10} 11 12//呼びだし 13let timeLabel.text = DoubleTime.displayTimeStr 14
↓こんな感じにしたいのですが、簡単にできるでしょうか?
swift
1import Foundation 2 3// 引数に渡したいenum 4enum timeStrType { 5 case A 6 case B 7 case C 8 case D 9 } 10 11// 引数を受け取りたいが(timeStrType: timeStrType)をどこに書いたらよいかイメージが浮かばない。 12extension Double { 13 var displayTimeStr: String { 14 let sec = Int(self) 15 let msec = Int((self - Double(sec)) * 100) 16 17 let timeStr: String 18 switch timeStrType { 19 case .A : 20 timeStr = NSString(format: "%02d:%02d:%02d.%02d", sec / 3600, sec % 3600 / 60, sec % 60, msec) as String 21 case .B : 22 timeStr = NSString//省略 23 case .C : 24 timeStr = NSString//省略 25 case .D : 26 timeStr = NSString//省略 27 } 28 29 return timeStr 30 } 31} 32 33//こんなふうに呼びだしたい 34let timeLabel.text = DoubleTime.displayTimeStr(timeStrType: .A) 35
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/08/09 07:57