higan96技術メモ

https://github.com/higan96

2015-01-01から1年間の記事一覧

UITextFieldを含むUITableViewCellのNSIndexPathを取得する方法

UITableViewCellを含むCellが1つであれば、UITextFieldDelegateのtextFieldDidEndEditingから取得するだけでいいのですが、これが複数になると引数のtextFieldがどのCellに帰属するのかわからないので面倒です。 悩んでいたら、textFieldDidEndEditingの引数…

CompleteHandlerのないアニメーションにCATransactionでCompleteHandlerを追加する

タイトルの通りです。 CompleteHandlerのないアニメ―ションにCompleteHandlerを追加します。 下の例ではUITableViewのediting modeの終了アニメーション後に処理を追加しています。 CATransaction.begin() CATransaction.setCompletionBlock { () -> Void in…

複数のUITextFieldとUITextViewが混在するViewControllerでキーワードを閉じる

通常、であればViewConrollerがUITextFieldDelegateかUIViewControllerを適用して、textFieldShouldReturnだったり何かしらのタッチイベントでtextField.resignFirstResponder()をすると思います。 ただ、UITextFieldとUITextViewが混在する場合、どちらが編…

UITableViewで無限スクロール

func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) { if indexPath.row == (items.count - 1){ items += nextItems tableView.reloadData() } } 最後のcellに来たらnextItemsを追…

linker command failed with exit code 1 (use -v to see invocation)の対処

file too small (length=0) file '/some/file/path' for architecture x86_64 linker command failed with exit code 1 (use -v to see invocation) ↓ command + shift + k これでだいたい解決する 多分ビルドが失敗したときに、変な風に(0byte)書き換わっ…

randomなint

var items = [1,2,3] var randomIndex: Int = Int(arc4random()) % items.count items[randomIndex] みたいに使う

OHHTTPStubとXCTestで、モックを使った非同期処理をテストする

通信をモックを使って、実際のサーバーサイドやWebAPIとの通信を行わずにテストする。 import UIKit import XCTest class SomeAPIClientTests: XCTestCase { let someAPIClient = SomeAPIClient() override func setUp() { super.setUp() } override func te…

UIViewを45度傾かせる

吹き出しようの「ぺろっ」と出てている三角形を作りたかったので、正方形を45度傾かせて実現しました。 この辺の数学的知識が無いので、解説はできません。 let angle = CGFloat(M_PI * (45) / 180.0) //miniBoxはUIViewのインスタンス miniBox.transform = …

CoreLocationで国、都道府県、市区町村の取得

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…

定義済みクラスで「Use of undeclared type "ClassName"」のエラー

とっくに定義済みのクラスなのundeclaredと言われて怒られた。 Use of undeclared type "ClassName" 解決方法 右側の「Taget Membership」でテストターゲットの方にもチェックを入れる。 原因 あるクラスのテストを書こうとクラスが定義されたファイルだけテ…

ダミーのjsonファイルからjsonデータを作る

サーバーサイドの実装がまだだけど、APIの仕様が決まっているようなときに。 開発が進んだらjsonファイルは消すか、ターゲットをテストだけにしよう。 How do I create dummy JSON data on the client in objective C / iOS? How do I create dummy JSON dat…