Swift・iOS

Swiftを中心に技術関連の記事を書いています

【Swift】NukeでURLの画像を表示/キャッシュ

■開発環境 ・Xcode 10.2 ・Swift 5.0 ・Nuke 7.5.1 ■手順 1.Nukeをインストール pod 'Nuke' 2.StoryboardでUIImageViewを配置 3.StoryboardのImageViewをViewControllerに関連づける 4.ViewControllerに以下実装 https://www.hfoasi8fje3.work/entry/2019/03…

【Swift】KingfisherでURLの画像を表示/キャッシュ

■開発環境 ・Xcode 10.2 ・Swift 5.0 ・Kingfisher 4.10.1 ■手順 1.Kingfisherをインストール pod 'Kingfisher' 2.StoryboardでUIImageViewを配置 3.StoryboardのImageViewをViewControllerに関連づける 4.ViewControllerに以下実装 https://www.hfoasi8fje3…

【Swift】URLSessionを使ってURLの画像を取得/キャッシュ

【Swift】UIImageViewにURLの画像を表示する(2) - Swift・iOSの続きです。今回は画像の取得に加えてキャッシュに関する機能を実装してみます。 ■開発環境 ・Xcode 10.1 ・Swift 4.2.1 ■手順 1.StoryboardでUIImageViewを配置 2.StoryboardのImageViewをViewC…

【Swift】Ambiguous reference to member 'dataTask(with:completionHandler:)'の解決方法

【Swift】UIImageViewにURLの画像を表示する(2) - Swift・iOSの実装時に出たエラーとその解決方法についてメモ。ただのケアレスミスなのですが、一応記録に残します。 ■開発環境 ・Xcode 10.1 ・Swift 4.2.1 ■エラーが出た時のコード このコード一目見て普通…

【Swift】UIImageViewにURLの画像を表示する(2)

【Swift】UIImageViewにURLの画像を表示する(1) - Swift・iOSの続きです。今回はURLSessionを使ってUIImageViewにURLの画像を表示してみます。 ■開発環境 ・Xcode 10.1 ・Swift 4.2.1 ■手順 1.StoryboardでUIImageViewを配置 2.StoryboardのImageViewをViewC…

【Swift】UIImageViewにURLの画像を表示する(1)

■開発環境 ・Xcode 10.1 ・Swift 4.2.1 ■手順 1.StoryboardでUIImageViewを配置 2.StoryboardのImageViewをViewControllerに関連づける&ViewControllerに以下実装 ・ViewController.swift import UIKit class ViewController: UIViewController { @IBOutlet …

【Swift】Initialization Closureを使ってリファクタリング

【Swift】Initialization ClosureでviewDidLoadの肥大化を防ぐ - Qiitaを参考にさせていただき、過去の記事で使ったサンプルコードをリファクタリングしてみました。 ※サンプルコードは【Swift】Swift4でHMSegmentedControlを試す - Swift・iOSを使っていま…

【Swift】円グラフを描画する(Charts)

■開発環境 ・Xcode 10.1 ・Swift 4.2.1 ■サンプルのイメージ ■手順 1.Chartsをインストール pod 'Charts' 2.StoryboardでViewを配置し、Custom Classに「PieChartView」を指定 3.StoryboardのPieChartViewをViewControllerに関連づける&以下実装 ・ViewContr…

【Swift】アニメーション系のライブラリSpringを試す

■開発環境 ・Xcode 10.1 ・Swift 4.2.1 ■サンプルのイメージ ■手順 1.Springをインストール pod 'Spring', :git => 'https://github.com/MengTo/Spring.git' 2.StoryboardでUIImageViewを配置し、Custom ClassのClassをSpringImageView、ModuleをSpringに設…

【Swift】自動でスクロールするページを実装する(UIScrollView/Timer)

自動で横にスクロールするページを実装してみました。Storyboardは使わずコードのみで実装しています。 ※UIScrollViewについては以下の記事でも触れています。 ・【Swift】横スクロールするページを実装する(UIScrollView/UIPageControl) - Swift・iOS ・【S…

【Swift】UIScrollViewで無限に左右スクロールできるページを実装する

【Swift】横スクロールするページを実装する(UIScrollView/UIPageControl) - Swift・iOSの続きです。今回は表示する画像をループさせることで無限に左右スクロールできるように実装してみました。 今回もStoryboardは使わずコードのみで実装しています。 ※20…

【Swift】横スクロールするページを実装する(UIScrollView/UIPageControl)

UIScrollViewとUIPageControlを使って横スクロールするページを実装してみました。 Storyboardは使わずコードのみで実装しています。 ※2019/2 追記 UIScrollViewに関しては以下記事でも取り上げています! ・【Swift】UIScrollViewで無限に左右スクロールで…

【Swift】UICollectionViewをコードで実装する

■はじめに ヘッダーとアイコン画像、タイトルを表示するUICollectionViewをコードで実装し、サンプルを作ってみました。 ■開発環境 ・Xcode 10.1 ・Swift 4.2.1 ■サンプルのイメージ ※アイコン画像は以下サイトのものを使用させていただきました。 FLAT ICON…

【Swift】Swift4でHMSegmentedControlを試す

■はじめに メルカリのiOSアプリのような横スクロールでメニューを切り替えられるライブラリである、HMSegmentedControlを試してみました。 ■開発環境 ・Xcode 10.1 ・Swift 4.2.1 ・HMSegmentedControl 1.5.5 ■サンプルのイメージ ■実装部分 1.以下HMSegment…

【Swift】WKWebViewでHTMLを表示する

■はじめに WKWebViewでHTMLを表示してみたので記録に残します。 ■開発環境 ・Xcode 10.1 ・Swift 4.2.1 ■サンプル import UIKit import WebKit class ViewController: UIViewController { var webView: WKWebView! var loadString: String = "{ここにHTMLが…

【Swift】WKWebViewで進む/戻る/更新(リロード)機能を実装する

■はじめに スワイプで進む/戻る/更新(リロード)機能を実装してみたのでまとめます。 ■開発環境 ・Xcode 9.4.1 ・Swift 4.1.2 ■進む/戻る機能の実装 インスタンスプロパティ「allowsBackForwardNavigationGestures」で、スワイプで進む/戻る機能を有効にで…

【Swift】WKWebViewでリンク先が開けない場合の対処法(ATS/target=”_blank”)

■はじめに 【Swift】WKWebViewでhttpsのページを表示できない原因(ATS) - Swift実践ブログでは、httpsのページに遷移できない現象について取り上げましたが、今回はリンク先が開けない現象に関してまとめたいと思います。 ■開発環境 ・Xcode 9.4.1 ・Swift…

【Swift】WKWebViewでhttpsのページを表示できない原因(ATS)

■はじめに WKWebViewでhttpsのページを表示できずはまってしまった時に調べたことのまとめ。 ■開発環境 ・Xcode 9.4.1 ・Swift 4.1.2 ■ 現象 httpのページを表示するにはATSの設定が必要ですが、一部httpsのページなのに表示できないもの(画面が真っ白にな…

【Xcode】All Exceptionの設定方法(デバッグ)

■はじめに デバッグでバグの原因を特定するのに役立つAll Exceptionの設定方法についてメモ。 ■環境 ・Xcode 9.4.1 ■設定方法 (1)「Breakpoint Navigator」内にある「Exception Breakpoint」を選択 (2)All Exceptionが設定される ※Break時に原因のログを…

プログラミング未経験からSwiftで事業会社のエンジニアになるまで(学習編)

■はじめに 自分がプログラミングを始める時に、未経験からエンジニアになった体験談を探したのですが、PHPやRubyなどを使ったWebアプリを使ってエンジニアになる話は多いものの、未経験でSwiftを最初に触るパターンはほとんどなかった気がします。 そのため…

【Swift】UserDefaultsを使ってUITextFieldに入力したテキストを自動で保存する

■はじめに 【Swift】UserDefaultsを使ったテキストの保存と読み込み - Swift実践ブログでは、「保存」ボタンを押すことでテキストを保存しました。今回は、「保存」ボタンを使わずに、入力したテキストを自動で保存できるように変更していきたいと思います。…

【Swift】UserDefaultsを使ったテキストの保存と読み込み

■はじめに UserDefaultsを使ったテキストの保存/読み込みについて試したので記事に残します。 ■開発環境 ・Xcode 9.4.1 ・Swift 4.1.2 ■実装 (1)Main.storyboard (2)ViewController.swift import UIKit class ViewController: UIViewController, UITextField…

【Xcode】「iPhone is busy: Preparing debugger support for iPhone」の対処法

■はじめに 表題のエラーに関して、新しいパターンの解決方法を見つけてしまった?のでメモ。 ■環境 ・Xcode 9.4.1 ■基本的な解決方法 今まで、以下3つの方法のいずれかを試せば解決できていました。また、ほとんどのケースがiTunesを終了させることで解決す…

【Bootstrap】Bootstrap4のテンプレートを試してみる

■はじめに CSSフレームワークまわりに興味があったこともあり、Bootstrapを利用したテンプレートを触ってみました。 ■環境 ・MAMP 4.4.1 ・Bootstrap4 ■試す手順 1.Start Bootstrapのサイトへアクセスしテンプレートを選ぶ 今回は「Creative」のテーマで試し…

【PHP】Visual Studio Codeでデバッグの設定(PHP Debug/XDebug)

PHP

■はじめに 業務でPHPに触る機会があり、プライベートでも環境構築をやってみようとしたのですが、PHP Debug/XDebugの設定でつまずいたのでメモです。 ■開発環境 ・Visual Studio Code 1.25.1 (1.25.1) ・MAMP 4.4.1 ・PHP 7.2.1 ・PHP Debug 1.12.3 ■つまず…

【Swift】Swift4でJSONのパース(SwiftyJSONを使わない方法)

■はじめに 以前、【Swift】APIからPOSTでデータ取得する(Alamofire/SwiftyJSON) - Swift実践ブログでAlamofireとSwiftyJSONを使いましたが、今回はSwiftyJSONを使わずにパースしてみました。 ■開発環境 ・Xcode9.3.1 ・Swift4.1 ■実装部分 今回はOpenWeather…

【Swift】ジェネリクスとは

■はじめに GitHubに上がっているコードを読んでいたところ、ジェネリクスが使われていたので調べてみました。 ■ジェネリクスとは 「配列型やディクショナリ型(辞書)でも型に左右されずに値を格納したり取り出すことが可能」 「型を気にせずにさまざまな処…

UI/UXについて調べてみる

■はじめに アプリ内のレイアウトを検討する際に、UI/UXについて調べたメモです。 ■UXの質を左右する要素 ・価値や有用性希望した結果や欲していた情報が得られたか否かは、UXの中でも特に大切な要素。役に立った、便利だった、楽しめたなど、ユーザーにとっ…

【Swift】Swift4でチャットボットを作る(Repl-AI)

■はじめに AIチャットボット作成サービス「Repl-AI」のAPIを利用して、以下記事で作ったチャットアプリへチャットボットの機能を追加してみました。 【Swift】Swift4でチャットアプリを作る(JSQMessagesViewController/Firebase) - Swift実践ブログ ※本記…

Postmanを試してみる

API

■はじめに 最近APIを叩くことが度々あるのですが、知り合いのエンジニアの方から「Postman触ってみなよ」とアドバイスいただいたので試してみました。 ■Postmanとは 「OAuth認証 〜 アクセストークン取得 〜 ユーザーの新規登録 〜 ユーザー情報取得 〜 ユー…