ゆうまのアプリ開発

アプリ開発(主にiOSアプリ)に関する情報をアウトプットしているブログです。

【Swift5】print()で改行しない(println()の代わりになるもの)

Swiftでprintでコンソールに文字列を表示させると最後で改行されてしまいますが、以下のように記述すると改行せずに出力することができます。

print("文字列1", terminator: "")

print("文字列2", terminator: "")

[出力]

文字列1文字列2

print("I am ", terminator: "")
print("a student.", terminator: "")

[出力] I am a student.

【Swift5】ボタン(UIButton)のタイトルのテキストを変更する

次のような記述でボタン(UIButton)のタイトルのテキストを変更することができます。

ボタン名.setTitle("タイトル", for: .normal)

for: にはボタンの状態が入り、ボタンの状態によってタイトルを変えることができます。特に指定がない場合は.normalで大丈夫です。

@IBOutlet weak var button: UIButton!

// アプリが起動した時にボタンのタイトルを”タイトル”にする
override func viewDidLoad() {
        super.viewDidLoad()
        button.setTitle("タイトル", for: .normal)
    }

※ボタン(UIButton)に表示されるテキストはラベル(UILabel)のように

button.text = "タイトル"

で変更することはできません。

【Swift5】タイマーで時間をカウントする

(1) 残り時間(経過時間)を表す変数を宣言
(名前は場面に合わせて設定しましょう。ここではcountとします。代入する数字はなんでもいいです。)

var count = 30

(2) タイマーを実行したい場所に以下のコードを書く

Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(updateCount), userInfo: nil, repeats: true)

引数の説明

引数名 説明 ヒント
timeInterval タイマーが実行されるまで(updateCountが実行されるまで)の時間(秒) repeatsがtrueの場合は実行間隔
target タイマーが実行された時のメッセージの送信先 ここではselfで良い。
selector タイマーが実行された時に送るメッセージ ここでは#selector(updateCount)で関数updateCountを実行してくださいというメッセージを表す
userInfo タイマーのユーザー情報。 これはnil(空)で良い
repeats タイマーを繰り返すかどうか。(trueかfalse) カウントダウンタイマーやストップウォッチのようなものを作る場合はtrueで良い。

(3) 関数updateCountを作成

@objc func updateCount() {
        // ここにtimeInterval毎に実行したい処理を書く
        // 例えばcountから1を引いてカウントダウン
            count -= 1
        // countが0になったら完了!と表示
            if count <= 0 {
                print("完了!")
            }
}

【Swift5】辞書(Dictionary)から値(Value)を取得する

辞書名[キー]

で取得する事ができます。

// 辞書名「airports」
let airports = ["NRT": "成田", "HND": "羽田", "SPK": "札幌"]

// 変数「airport」に辞書から取り出した値を代入
let airport = airports["NRT"]!

// airportを表示(「成田」と表示されます。)
print(airport)

【Swift5】辞書(Dictionary)の値(Value)を追加・編集する方法

辞書名.updateValue(, forKey: キー)で追加・編集どちらも行うことができます。

// varで宣言する必要があります
var airports = ["NRT": "成田", "HND": "羽田", "SPK": "札幌"]

// 新しい値を追加(新しい値と新しいキーを指定)
airports.updateValue("関西", forKey: "KIX")

// 既存の値を更新(新しい値と既存のキーを指定)
airports.updateValue("成田国際空港", forKey: "NRT")

【Swift5】辞書(Dictionary)を宣言する方法

キー : の配列で辞書(Dictionary)を宣言する事ができます。

// キー:都市コード、値:空港名 の辞書(後で編集する場合はletをvarにしましょう)
let airports = ["NRT": "成田", "HND": "羽田", "SPK": "札幌"]