Swift・iOS

Swiftを中心に学んだことを記録に残すブログです。技術に関係ない記事もたまに書いています。

【Swift】User Notifications frameworkでローカル通知機能の実装(バックグラウンド/フォアグラウンドでの表示)

■はじめに iOS 10以降で使えるUserNotificationsでローカル通知の実装をしてみました。 とはいえ、表題の内容には既にネット上に詳しい説明をしている記事が多くあります。 実装してみたい方は、まずは本記事の末に記載した参考記事をご覧ください。参考記事…

初心者でもGitHubのコードを読むメリットはあるか

※本記事はプログラミング初心者向けの内容です。 ■はじめに 以前エンジニアの方に、「GitHubに上がっているスターの数が多いリポジトリを読んでみるのも勉強にはよいかも」と教えていただいたのですが、「いきなりコードを読むなんてできるのだろうか・・・…

【Swift】「Showing Recent Issues Command failed due to signal: Abort trap: 6」の原因

「Showing Recent Issues Command failed due to signal: Abort trap: 6」のエラーがなかなか解決できず苦戦しました。事例を検索しても明確な原因は見つけられなかったのですが、解決できたので事例として記事に残しておきます。 ■エラーが出た時の状況 Rea…

【Swift】Realmを触ってみる(レコードの書き込み/取得)

興味本位でRealmを触ってみたくなり、以下記事を参考に試してみました。 [iOS] Realmを使ってみた 〜環境構築からCRUDまで〜 | Developers.IO プログラミングを始めたばかりの方の中には、もしかすると上記記事の内容は理解できるものの、具体的にどのよう…

【Swift】エクステンション(extension)を使うメリット

■エクステンション(extension)とは 「拡張機能は、既存のクラス、構造体、列挙型、またはプロトコルタイプに新しい機能を追加します。」 引用:The Swift Programming Language (Swift 4.1): Extensions ■メリット 同じプロパティやメソッドを繰り返し記述…

【Swift】escaping属性(@escaping)とは

クロージャを使用する時に出てくるescaping属性に関するメモ。 ■escaping属性とは 以下、Appleの「Guides and Sample Code」のサイトの引用です。 ブラウザの翻訳機能だけではいまいち理解しにくいです。。 「A closure is said to escape a function when t…

【Swift】指定イニシャライザとは / super.init()の前でプロパティを初期化する

「super.init()の前でプロパティを初期化するのはなぜ?」 ・・・指定イニシャライザに関して理解できていない証拠なのでまとめてみました。 ■指定イニシャライザ(Designated Initializer)とは 「Designated initializers are the primary initializers fo…

【Swift】Singleton パターンってどういう時に使うの?

実際にアプリを開発する上で便利とされるシングルトンですが、いまいちどのような時に使うのかイメージしにくかったので調べました。 ■そもそもSingleton パターンとは Wikipediaによると、「オブジェクト指向のコンピュータプログラムにおける、デザインパ…

【Swift】Sourcetreeでの.gitignoreの設定

Sourcetreeでの.gitignoreの設定に関してです。 まず、下の画像の「設定」を選択します。 「高度な設定」を選択し、「リポジトリ限定無視リスト」の「編集」を選択します。 ここで.gitignoreの編集。今回はgithub公式のリポジトリ「Swift.gitignore」を使っ…