メモです
guard文の使い方
http://hajihaji-lemon.com/smartphone/swift/guard文/
要約:guard文を使うと処理を続ける条件に合わないから脱出するというイメージがしやすくなる。
書き方は以下のよう
guard 条件式 else { //外側に進むための条件
処理 //条件に合わなかったとき
return または break または throw //脱出
}
ちなみにbreak,return,throwの違いは次のよう
break: 処理をguardの中の処理を行わないで抜けるだけ(そこだけ終わりで次へ)
return: この処理が入っている関数自体を終わらせる(そこで終了)
throw: errorを投げる
debugの時の変数の中身などの確認の仕方
https://www.bhnt.co.jp/blog/ツール/xcode/xcode5デバッグ時にプロパティや変数の値を確認する/
要約: xcode右下のconsoleに次のように書くと変数の中身の値が見れる
po 変数名
po [変数名 メソッド名]
po 変数名.プロパティ名
TableViewCellの大きさをCellの中身に応じて変える方法
https://www.raywenderlich.com/129059/self-sizing-table-view-cells
要約:
TableViewのプロパティのrowHightにUITableViewAutomaticDimensionを代入するとcellの高さがcellの中のオブジェクトの大きさとそれらのオブジェクトのAutoLayoutの二つのみに依存したものになる。
//大きさをcellの中のobjectのconstrainsに依存させる
tableView.rowHeight = UITableViewAutomaticDimension
//なんか書かなきゃらしいが右辺の数字は適当な数字でいいらしい。予想の高さ?を代入
tableView.estimatedRowHeight = 20
その他得た知識: UILabelの行数をtextの量に合わせて増やす方法
main.storyboadで対象のLabelを選択してIdentity Inspectorの中のLinesを0にする
UILabel, UITextField, UITextView の違い
https://ja.stackoverflow.com/questions/2378/uilabel-uitextfield-uitextview-の違いは何ですか
要約:
・UILabel 表示専用
・UITextField キーボードによる入力が可能
・UITextView キーボードによる入力が可能 複数行可
ER図の書き方
何度やってもAlamofireでのGETリクエストのresponseがnilの理由
https://stackoverflow.com/questions/41581030/alamofire-response-is-allways-nil
要約:処理が非同期(順番ではなく)行われているので、早く止めすぎるとだめ。待てば返ってくる。
URLからUIImageViewに画像を表示させる方法
http://swift-salaryman.com/uiimage.php
要約:下のように書けばできる。
@IBoutlet var let testImageView = UIImageView
let url = URL(string: "http://books.google.com/books/content?id=xxNQngEACAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api")
let data = try? Data(contentsOf: url!)
let img = UIImage(data:data!);
testImageVIew.image = img
画面の幅、高さを所得する方法
http://systemengineer.site/archives/17155480.html
要約:下のように書けばできる
let width = UIScreen.main.bounds.size.width
let height = UIScreen.main.bounds.size.height
present modally でのsegueで下の画面を取る方法
self.presentingViewController as! ViewController
NavigationControllerを使っているときはNavigationControllerが取れるので注意。
カメラロールから画像取得
イメージからデータへ
https://gist.github.com/trilliwon/5af1abe1a113148c23ecde8c08e181a6
要約: 下のようにやればできる
var imageData: Data = UIImagePNGRepresentation(image)
var imageUIImage: UIImage = UIImage(data: imageData)