前提・実現したいこと
Swiftで健康管理アプリを作っています。
Double型の数値を配列で保存したいのですが、エラーが発生してうまく保存できません。
Double型の数値を配列で保存する方法を教えてください。
発生している問題・エラーメッセージ
Type of expression is ambiguous without more context
該当のソースコード
Swift
1class registerViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource, UITextFieldDelegate { 2 3 4 @IBOutlet weak var nameTextField : UITextField! 5 @IBOutlet weak var heinetuPickerView : UIPickerView! 6 @IBOutlet weak var setteiButton : UIButton! 7 @IBOutlet weak var heinetuLabel : UILabel! 8 9 var name = [String]() 10 11 var heinetuDate = [Double]() 12 13 let list2 : [Double] = [36.0,36.1,36.2,36.3,36.4,36.5,36.6,36.7,36.8,36.9,37.0,37.1,37.2,37.3,37.4,37.5] 14 15 override func viewDidLoad() { 16 super.viewDidLoad() 17 18 if UserDefaults.standard.object(forKey: "HeinetuDate") != nil { 19 heinetuDate = UserDefaults.standard.object(forKey: "HeinetuDate") as! [Double] 20 } 21 if UserDefaults.standard.object(forKey: "Name") != nil { 22 name = UserDefaults.standard.object(forKey: "Name") as! [String] 23 } 24 25 26 if #available(iOS 13.0, *) { 27 self.overrideUserInterfaceStyle = .light 28 } else { 29 // Fallback on earlier versions 30 } 31 32 nameTextField.placeholder = "ユーザー名を設定してください" 33 34 self.nameTextField.delegate = self 35 36 } 37 38 39 // PickerViewの設定 40 func numberOfComponents(in pickerView: UIPickerView) -> Int { 41 42 return 1 43 } 44 45 func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { 46 47 return list2.count 48 } 49 50 func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? { 51 52 return String(format: "%.1f", list2[row]) 53 } 54 55 func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { 56 57 let heinetu = list2[pickerView.selectedRow(inComponent: 0)] 58 59 heinetuLabel.text = "(heinetu)" 60 } 61 62 // TextFieldのタップ設定 63 override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { 64 nameTextField.resignFirstResponder() 65 66 // nametextFieldが空の時にアラートの表示 67 if nameTextField.text == "" { 68 69 let alert = UIAlertController(title: "警告", message: "入力が未完了です", preferredStyle: .alert) 70 71 let action = UIAlertAction(title: "OK", style: .default) { (action) in 72 // OKボタンを押した時のアクション 73 alert.dismiss(animated: true, completion: nil) 74 75 } 76 77 alert.addAction(action) 78 79 self.present(alert, animated: true, completion: nil) 80 81 } 82 } 83 84 // TextFieldのタップ設定 85 func textFieldShouldReturn(_ textField: UITextField) -> Bool { 86 87 nameTextField.resignFirstResponder() 88 89 // nametextFieldが空の時にアラートの表示 90 if nameTextField.text == "" { 91 92 let alert = UIAlertController(title: "警告", message: "入力が未完了です", preferredStyle: .alert) 93 94 let action = UIAlertAction(title: "OK", style: .default) { (action) in 95 // OKボタンを押した時のアクション 96 alert.dismiss(animated: true, completion: nil) 97 98 } 99 100 alert.addAction(action) 101 102 self.present(alert, animated: true, completion: nil) 103 104 } 105 106 return true 107 108 } 109 110 // 設定ボタンの設定 111 112 @IBAction func decide(_ sender: Any) { 113 114 //変数に入力内容を入れる 115 name.append(nameTextField.text!) 116 117 heinetuDate.append(Double(heinetuLabel.text)) 118
試したこと
heinetuDate.append(Double(heinetuLabel.text))でやってみましたが、上記のエラーが出てしまいました。
補足情報(FW/ツールのバージョンなど)
Xcode バージョン12.4
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/02 06:38