Swift
GoogleAnalyticsのSDKのラッパーライブラリを作りたい そのためには、podspec側にdependencyを書いておく必要がある。こんな感じ。 Pod::Spec.new do |s| s.name = 'Example' s.version = '0.1.0' s.summary = 'A short description of Example.' 略 s.depen…
allocはNSObjectのクラスメソッド alloc - NSObject | Apple Developer Documentation + (instancetype)alloc; The isa instance variable of the new instance is initialized to a data structure that describes the class; memory for all other instanc…
AnyObjectの型 typealias AnyClass = AnyObject.Type 何か分からないものの型を表現してる。 参考 Swifter - Swift Must Know Tips
まとめ NSSClassFromString使う 引数が3つ以上だとperformSelectorは使えない SwiftだとNSInvocationは使えないので代わりにIMPを使う Class methodとInstance methodで呼び方ちょっと違う performSelectorの返り値の型はUnmanaged<AnyObject>でtakeUnretainedValueを使</anyobject>…
少し前のことだけど、今のプロジェクトが始まった頃にコード書いてて理解できたのでメモ。 ジェネリクスがない場合 成功か失敗か返すのにEnumを作るとしてジェネリクスがないとこうなっちゃう。 enum Result { case Success(AnyObject) case Failure(NSError…
どっちを採用するべき? class Animal {} // or class Animal: NSObject {} こっちのにしておけばとりあえず間違いないとか、こっちを使うとこんな時に困るとかそういう指針が知りたい。 よさそうな回答 Swift native base class or NSObjectstackoverflow.c…
勉強会とか開かれないかなー。こんなのを知りたい。自分用メモ。 UITableViewのDataSource、DelegateをジェネリクスでSwiftっぽく分離する。 UITableViewのSectionをEnumでうまいこと扱う Structの使いどころ Protocolの使いどころ カテゴリ拡張をProtocol E…
こんな話は何年も前から語られてて答えも出てると思うけど、色々な意見を聞いて自分の考えが少しずつまとまってきたので残しておく。 聞いた意見 publicメソッドをテストすればprivateメソッドのテストも行われていることになる リフレクションやモックなど…
how to convert array to dictionary swiftとかでググってもあんまでてこないから書いた。 以下、Qiitaに書いたやつ。 Swiftでreduceを使ってArrayからDictionaryを作る方法 - Qiitaqiita.com
ifとwhere書いてるときにふと迷ったので書いた。 Swiftのif文でwhereを使ったときのelseの条件 - Qiitaqiita.com
iOSオールスターズでSpriteKitがUIKit上で使えることを知った iOSオールスターズというイベントに行ってきた。イベントレポート書こうと思ったけど、最速でいいのがまとまってたのでさぼりましたw ためになる発表が多かったけど、その中でも @ryusukefuda …
ジェネリクスが分からない BondっていうSwiftで関数型リアクティブプログラミングをするためのオープンソースがあります。試しに使ってみようと触ってるんですが、README通りに動かないのでライブラリのコードを眺め始めました。しかし、書いてあるコードが…
日付操作とか比較とかしようとか思ってググると、NSDateComponentsを使ったやつがよく出てきます。一旦NSDateComponentsを作ってから一つの要素ごとに足し算したりとか色々めんどいなーと思ってリファレンス見てたら、日付操作とか日付比較で便利なメソッド…
が、なかなか実装されません。。まだされてませんよね?? 追記 2015/01/10 されました!やったー! はてな記法とMarkdownのシンタックス・ハイライトで、Swift言語に対応しました - はてなブログ開発ブログ 実装されるまで、それっぽい色になる代わりの言語…
Swfitの練習のためにiBeaconのサンプル作って練習してみました。 mpon/BeaconSample iBeaconをバックグラウンドでも受信するポイントは、 Info.plistにNSLocationAlwaysUsageDescriptionを追加 CapabilitiesでBackground Modesでの位置情報の更新の設定を追…
Objective-CでisKindOfClass Objective-Cだとid型で何かを受け取ることがあって、それを検査するのにisKindOfClass:使いますね。例えばこんな感じ。 - (IBAction)buttonDidPush:(id)sender { if ([sender isKindOfClass:[UIButton class]]) { NSLog(@"This i…
varは変数で、letは定数ってことだと思ってるけど、 じゃあ、letで宣言した変数のプロパティを変更するのはOKなの? という疑問があったので、調べた。 letで宣言したやつは、インスタンスのプロパティは変更してもOK。 letで宣言したやつに、再代入するのが…
Objective-Cならこう書くよね。 // クラスメソッド NSDate *date1 = [NSDate date]; // インスタンスメソッド NSDate *date2 = [[NSDate alloc] init]; // objcではこれはあんまり使わないけど じゃあSwiftは? var date1 = NSDate.date() var date2 = NSDat…
NSDateのreference見てると、こういうところが出てくる。 extension NSDate { class func distantFuture() -> AnyObject! /* NSDate * */ class func distantPast() -> AnyObject! /* NSDate * */ init() /* designated initializer */ init(timeIntervalSin…