LoginSignup
3
3

More than 5 years have passed since last update.

フィールドとラベル

Posted at

Swift では型チェックが厳密なため、テキストフィールドとラベルではテキストへのアクセスの仕方が変わってきます。
(Objective-C ではどちらも.text でアクセスできました)

UITextField の text プロパティは

var text: String!

と定義されているのに対して、UILabel の text プロパティは、

var text: String?

と定義されています。
このため、テキストフィールドのテキストを評価するときには、

myTextField.text

で String を取り出すことができますが、テキストラベルの時には、

myLabel.text

では Optional 型で取り出されてしまいます。従ってテキストラベルのテキストを取り出す時には、

myLabel.text!

とする必要があります。ただし、ラベルは初期値が nil なので何も設定していない可能性があるときにはチェックが必要です。

テキストフィールド例:

var myField = UITextField(frame: CGRectMake(0, 0, 80, 30))
myField.text = "Wow"
switch myField.text {
    case "Wow":
        print(myField.text)
    default:
        print("Nothing")
}

テキストラベル例:

var myLabel = UILabel(frame: CGRectMake(0, 0, 80, 30))
myLabel.text = "Wow"
switch myLabel.text! {
    case "Wow":
        print(myLabel.text!)
    default:
        print("Nothing")
}
3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3