macoblog

「ゲーム × プログラミング」で生きていく

アプリ検索ツール(β版)を公開

【Xcode/Swift】アプリ開発で使えそうな処理まとめ【自分用】

アプリ開発

アプリ開発をXcode/Swiftで学んでいく上で全てのことを覚えることは不可能なので、使えそうな処理だけど多分忘れるだろうなというものを備忘録として記事に残しておきたいと思います。

目次【本記事の内容】

タイマー処理「例:1秒ごとに特定の処理をする」

「1秒ごとに何かの処理を実行したい」など、定期的に処理の実装にはTimerを使うと便利です、下記は1秒ごとにラベルに1を足して表示しています。

@IBOutlet var countLabel: UILabel!

var timer = Timer()

var count = 0


override func viewDidLoad() {
    super.viewDidLoad()
    
    timer = Timer.scheduledTimer(withTimeInterval: 1.0, repeats: true, block: { (timer) in
        
        self.count += 1
        self.countLabel.text = String(self.count)
        
    })
    
}

書き方は違えど同じことが出来ます、下記も同じ結果を返します。

@IBOutlet var countLabel: UILabel!

var timer: Timer!

var count = 0


override func viewDidLoad() {
    super.viewDidLoad()
    
    Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(self.countUp), userInfo: nil, repeats: true)
    
}

@objc func countUp() {
    count += 1
    countLabel.text = String(count)
}

Timerを使用する時に気を付けたいのは停止処理で、放っておくとメモリが解放されないので停止(破棄)する必要があります、処理自体は簡単で先に紹介したコード(オブジェクトを保持している場合)であれば、下記のようにすればタイマーを止める(破棄)することができます。

timer.invalidate()

終わりに:良さげな処理あれば教えて下さい

アプリ開発についてはまだまだ勉強中ではありますので、使えそうなものがあれば随時更新という形で追加してまとめていきたいと思います。

読者の方の中で「こんなのも使えるよ」というものがあれば教えてもらえると助かります、自分が学んだことだけでは視野が狭くワンパターンなものしか出てきませんので。

余談ですが、実際にXcodeで処理を書いて動かしてみて、ブログでまとめると知識の定着がすごい、これじゃ忘れる気しませんね。笑

iOSアプリ開発の独学に役立つ関連書籍

上の参考書は絵的なデザイン集ではありません。笑、、、「デザインパターン」とはプログラミングにおける問題解決の指針的なものを教えてくれるものです、これは多言語でも活きてきます、独学中の方はどこかのタイミングで学んでおくとスキルに深みが出ると思います。