Swift

ReactNative Native UI Components

github.com ReactNativeとNative機能のBridgeのサンプル。 このサンプルはIOSのみですが気軽にNative機能にアクセスできるのは素晴らしい。 単純なUI部分はReactNativeで実装して、react-native-router-fluxなどのRouter機能と合わせて使っていくと、作業の…

View LifeCycle

View LifeCycle一覧にしてみた。 gist.github.com

Swift キーボードを自動的に表示する方法

アプリで自動的にキーボードを表示したい時の処理、探してもなかなか見つからなかったのでメモしておく www.giphy.com 自動的に表示する場合 private var toolbar: UIToolbar! override func viewDidLoad() { self.textView.becomeFirstResponder() } 自動的…

Swift Tip String型のクラス名からクラスを生成する。

String型のクラス名からクラスを生成するサンプル、 NSStringFromClassを使って、クラス名を一度取得し、それをNSClassFromStringで変換をかけた、 どうも、ターゲット名が含まれていないと、NSClassFromStringで変換をかける時にエラーが発生してしまった。…

Top 100 Best Blogs for iOS Developers

Top 100 Best Blogs for iOS Developers IOSのベストブロガー100人が列挙されているサイト、そのなかでも面白そうなブログを探してみた。 App Coda www.appcoda.com チュートリアルが詳しくかつわかりやすく取り上げられている、ここを見えているだけでかな…

Swift UITableViewの無限スクロールを作ってみる。

UITableViewの無限スクロールを実装するサンプル func scrollViewDidScroll(scrollView: UIScrollView) { if(self.tableView.contentOffset.y >= (self.tableView.contentSize.height - self.tableView.bounds.size.height)) { print("run action!") } }

Swift カスタムテーブルセル上のアクションをデリゲート使って親クラスから実行してみる。

カスタムテーブルセルのアクセションをその親のビュークラスから操作する必要がでてくる事があります。 その時にデリゲート使って、他のクラスに処理を委任する方法を書いてみました。 キーとなるのはプロトコル、まずプロトコルでどのようなファンクション…

SlackTextViewControllerをSwiftから試してみ

Slackで使っているチャットUIが使える、SlackTextViewControllerを試してみる。 github.com 仕組みとしてはシンプルで、growing text input viewに入力されたメッセージがtable viewに収まっていく、カスタムセルを作っておく必要がある。 その時のサンプル、…

Swift 複数のカスタムセルを使いわけたいとき

Swift 複数のカスタムセルを使いわけたいときの実装方法。 具体的には、 ①カスタスセルのclassを2種類作成する。 ②tableView.registerClassでその2種類のカスタムセルを登録する。 ③cellForRowAtIndexPath内で条件により使いわける。 でOKだった。 override …

SwiftでUDIDを取得する方法 (unique device ID)

意外にも日本語の記事がみつからなかったので、 SwiftでUDIDを取得する方法、 UIDevice.currentDevice().identifierForVendor stringで欲しいときは、 UIDevice.currentDevice().identifierForVendor!.UUIDString

Swift Erros

Swiftで開発しているとよく遭遇するエラーたち、、書き留めていこうと思う。 nib but the view outlet was not set nibファイルの指定が間違えていた。nibNameの指定を修正。 override func loadView() { if let view = UINib(nibName: "CommetForm", bundle…

Swift xlibファイルを使ってViewを組み立ててみる。

いままでレイアウトは全てコードで書いてきたが、 複雑にレイアウトになった場合に、コード内のみとうしがかなり悪くなる。xlibでのレイアウトを試してみた。 その時の作業ログ viewを新規作成 viewのOwnerを変更 UseXibVieクラスは先に作成しておく。 UINib…

SwiftからAlamofireを使う

Alamofireの作業ログ、何点かハマるポイントがあったのでその記録。 httpファイルにアクセスできない https://以外のhttpのアクセスは制限されています。 App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecur…

Swift Class間で通知データを送るサンプル

Swiftでclass間でのデータのやりとりをしようと思って作ったサンプル。サンプルではカスタムセルと親となるTableViewの間でNotificationのやり取りを行っている。カスタムセル上にボタンを配置して、tapしたタイミングで親Tableの処理を実行するなんて事が可…

Swift callBackのサンプル

callBackのサンプルを作ってみる。簡単に実装できる。にしてもIBMのSwift Sandboxはいいな使いやすい。 swiftlang.ng.bluemix.net class Dog { func run(param:Int, callBackClosure:(Bool, Int) -> Void) -> Void{ var SuccessOrError = false SuccessOrErr…

Swift xibを使わずにコードのみでUITableViewのCustomCellの高さを自動調整するサンプル

コードのみでUITableViewのCustomCellの高さを自動調整するサンプルを作成してみる。xibファイルは未使用。 StoryBoardを使ってCustomCellの高さを可変にできる記事はたくさんあるのだがコードのみで、そのレイアウトを実現する方法がみつからなかったので試…

Swift UIImagePickerControllerでカメラの画像を取得するサンプル

UIImagePickerControllerでカメラの画像を取得するサンプルこれもシンプルな実装で完結できる。 作ってみたコードはこちら、赤いボタンを押すと写真が選択され画面に表示される。すこし気をつける部分は以下の設定も必要。 UINavigationControllerDelegate …

Swift CLLocationManagerを使って現在の住所を取得してみる

地図の緯度軽度はとれたので、現在の住所を取得した時の作業ログ。てっきりGoogleのGeo APIなんかをつかうのかと思っていましたが、Xcode上の機能だけで完結できる、難易度は高くない。 前回の続きから、 onga-tec.hatenadiary.jp 今回つくったのは、地図上…

RealmをつかってTESTを書いてみる

Realmで地図の位置情報と時間とコメントを保存してみる。 LocateModelWrapというclassでWrapして使っているがもっといい方法はきっとあるのだろう。 gist.github.com Realmをテストする際には、@testableを利用しました。 ModelファイルのTargetにTestsを含…

Swift dyld: Library not loaded 事例集(日々更新)

Swiftで開発中に以下のエラーが発生してライブラリが読み込めないことがあるが、いまいち原因が掴まない。Xcodeの挙動を理解していない事が一番の原因なのだけれど根本的な原因を掴める記事がみつからない、ひとまず事例をweb上から集めてみようとおもう。 d…

Swift CoreLocationとMapKitで現在地を表示する。

SwiftでCoreLocationとMapKitで現在地を表示したの時のサンプル プログラミング自体よりも、Xcode周りの設定に気を使う印象 Xcode Version 7.3.1 Swift 2.2 シュミレータのlocationを設定しておく XcodeでCorelocation.framaworkを読み込んでおく info.plist…

Xcode8 CGRectMake is unavailable in Swiftと出る場合

Xcode8に変更した時にCGRectMake is unavailable in Swiftと出る場合 let labelTag = UILabel(frame: CGRectMake(0, 0, 100, 100)) 以下のように修正 let labelTag = UILabel(frame: CGRect(x: 0, y: 0, width: 100, height: 100)) Swift3の俗に言われる破壊…

Swift MapKitのサンプル

Swiftで簡単な地図のサンプルを作成してみる。 今回作成したサンプルはこちら、Swiftはやっぱ楽しい。次はMapをカスタムしてみよう。 github.com gist.github.com

Swift PlaygroundからAlamofireや他のライブラリをimportして使う

Playground上でAlamofireなど、その他ライブラリをimportして開発したいと思ったのでその時の作業ログ。Xocdeでの作業はどうしてもBuiid時間で待たされるので、Playground上からUIを確認しながら開発できると便利そう。 環境 Xcode Version 7.3.1 (7D1014) …

swift-realm-sandbox

realm.io github.com まずは、簡単にデータをinsertするサンプル。 func testInsert1() { let myDog = DogModel() myDog.name = "Muck" } func testInsert2() { _ = DogModel(value: ["name" : "Pluto", "age": 3]) } func testInsert3() { _ = DogModel(val…

Scrollable-GraphViewを試してみる

swiftで滑らかなグラフが作成できるScrollable-GraphViewを試してみる。 Barチャートの作成は以下のようなコードで可能。 private func createDarkGraph(frame: CGRect) -> ScrollableGraphView { let graphView = ScrollableGraphView(frame: frame) graphV…