前提・実現したいこと
引数の型を判定してString型へ変更する関数を作りたいです。
[Any]型の値が入った連想配列(Anyには文字列、数字、Date型の日付などが入ります)が複数あり、この値の正確な型を判定した上で、全ての値をStringにする為に関数を作りました。エラーとなってしまう為、良い方法がありましたら教えていただけますと幸いです。
発生している問題・エラーメッセージ
Argument labels '(_:)' do not match any available overloads
該当のソースコード
Swift
1//連想配列とキーが入った配列がありますーーーーーーーーーーーーーーーーーーーーーーーー 2 var cell01_data = [:] as [String: Any] 3 var cell01_key = [String] 4 var cell02_data = [:] as [String: Any] 5 var cell02_key = [String] 6 var cell03_data = [:] as [String: Any] 7 var cell03_key = [String] 8 9//このような関数を作りましたーーーーーーーーーーーーーーーーーーーーーーーー 10 func changeString(data:String)->String{ 11 return data 12 } 13 14 func changeString(data:Int)->String{ 15 return String(data as! Int) 16 } 17 18 func changeString(data:Date)->String{ 19 let f = DateFormatter() //日付フォーマット 20 f.dateFormat = "yyyy" 21 return f.string(from: data as! Date) 22 } 23 24//関数を呼び出します(TableViewのCellでの処理)ーーーーーーーーーーーーーーー 25 var text = changeString((self.cell01_data[cell01_key[indexPath.row]])) 26//ここでエラーになります 27 var text = changeString((self.cell02_data[cell02_key[indexPath.row]])) 28 var text = changeString((self.cell03_data[cell03_key[indexPath.row]]))
補足情報
Swift4.2 Xcode11
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/03 02:35