swift
Environment Swift 4.2 Cocoapods 1.5.3 XCode 10.0 Problem 表題の通り、Expected ',' separatorっていうエラーがRxSwiftのパッケージ側に出てきて、ビルドがうまくいかなかった。 Cocoapodsで管理しているのですが、Pods以下はロックされていて自分でいじ…
WKWebViewの最初に読みこんだページ(URL)に戻りたいことがあったので、いろいろ調べたらwebView.goToBackForwardListItem(item: WKBackForwardListItem)で実現できました。 let webView = WKWebView() let count = webView.backForwardList.backList.count…
概要 Alamofireを使用していてUser-Agentを編集したいとき、ManagerのイニシャライザにNSURLSessionConfigurationのインスタンスを渡して対応しました。 NSURLSessionConfigurationの設定については、後から動的に変えることができないので、注意が必要です…
UITableViewCellを含むCellが1つであれば、UITextFieldDelegateのtextFieldDidEndEditingから取得するだけでいいのですが、これが複数になると引数のtextFieldがどのCellに帰属するのかわからないので面倒です。 悩んでいたら、textFieldDidEndEditingの引数…
タイトルの通りです。 CompleteHandlerのないアニメ―ションにCompleteHandlerを追加します。 下の例ではUITableViewのediting modeの終了アニメーション後に処理を追加しています。 CATransaction.begin() CATransaction.setCompletionBlock { () -> Void in…
通常、であればViewConrollerがUITextFieldDelegateかUIViewControllerを適用して、textFieldShouldReturnだったり何かしらのタッチイベントでtextField.resignFirstResponder()をすると思います。 ただ、UITextFieldとUITextViewが混在する場合、どちらが編…
var items = [1,2,3] var randomIndex: Int = Int(arc4random()) % items.count items[randomIndex] みたいに使う
通信をモックを使って、実際のサーバーサイドやWebAPIとの通信を行わずにテストする。 import UIKit import XCTest class SomeAPIClientTests: XCTestCase { let someAPIClient = SomeAPIClient() override func setUp() { super.setUp() } override func te…
吹き出しようの「ぺろっ」と出てている三角形を作りたかったので、正方形を45度傾かせて実現しました。 この辺の数学的知識が無いので、解説はできません。 let angle = CGFloat(M_PI * (45) / 180.0) //miniBoxはUIViewのインスタンス miniBox.transform = …
import CoreLocation let location:CLLocation = CLLocation(latitude: lat, longitude:lon) geocoder.reverseGeocodeLocation(location, completionHandler:{(placeMarks, error) -> Void in if error == nil { if placeMarks.count > 0{ let placemark: CL…
Swiftを始めてオプショナル型覚えたてで、オプショナル型使いたい病にかかってしまい、 メソッドの返り値のコレクションデータまでオプショナル型で返していました。 ですが、やっぱアンラップするのがめんどくさい。 そもそも、ArrayにもDictionaryにもisEm…