今後開発を進めていく上で自分がつまずきそうな基礎部部分の振り返りです。
アプリ開発でTextFieldを利用する際に数値をInt型として変換するための処理を書きます。
今回はplyagroundで書いているので、定数としてtextFieldを設定します。
playground.swift
import Foundation
import UIKit
let textField = UITextField()
textField.text = "100"
ここではplayground想定で実行していますが、storyboard上だとTextFieldは上のようにOptional型の文字列で数値を受け取ります。
Optional型の文字列はそのままでは数値に変換できないので、これをまず文字列型に変換する必要があります。
playground.swift
import Foundation
import UIKit
let textField = UITextField()
textField.text = "100"
//String?(オプショナル)型からInt?へ変換
Int(textField.text ?? "")
Int型もオプショナル型のままだと計算ができないので、Int?からIntに変換します
playground.swift
import Foundation
import UIKit
let textField = UITextField()
textField.text = "100"
//String?(オプショナル)型からInt?へ変換
Int(textField.text ?? "")
//Int?は計算に使用できない
//Int(textField.text ?? "") + 10
//Int?をIntに変換
Int(textField.text ?? "") ?? 0 + 10 //結果110
textFieldのtextに何も入っていない場合、??によってnilの場合は空の文字列を返し、それをInt変換時に再度??で0を返します。数値が渡されている場合はその数値がInt型として受け取られます。
結果、上記ではtextField.textに"100"を渡しInt型に変換して10を足しているため、結果は110です。