Swiftで行末の;を省略して書いていると、returnが想定外の動きになっていました。 メソッド(関数)の途中でreturnと書くと次の行以降は実行されず、メソッドから抜けると思っていたのですが、違いました。
![Swiftのreturnでハマった - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/b60fab1b8d236ef27f23b5d6ffe9c0abd4159eb8/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9U3dpZnQlRTMlODElQUVyZXR1cm4lRTMlODElQTclRTMlODMlOEYlRTMlODMlOUUlRTMlODElQTMlRTMlODElOUYmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPTE1NDY5MzBhZDg3NjEzZGViZmI4NDQwMmRjMmYxZjI2%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBOYXJpdGFnZSZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9NGMxYzk0YWVjNDQyZmJhMWI3YzJlODgzMTcxYjBiZTE%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D7bbcb0bf79098c5e8f96b8e186ac4e63)
Swiftで行末の;を省略して書いていると、returnが想定外の動きになっていました。 メソッド(関数)の途中でreturnと書くと次の行以降は実行されず、メソッドから抜けると思っていたのですが、違いました。
Swiftのお勉強ということでイベントリスナー的なクラスを書いてみました。 - generic - protocol - closure - operator overloading あたりを試した感じです。 リスナークラス まずイベント通知を受け取るリスナークラス // イベントの通知を受け取る class EventListener <EventArgType>{ typealias EventMethod = (sender: AnyObject!, args: EventArgType!) -> () typealias IdType = UInt64 let invoke: EventMethod! internal var id: IdType? // 登録状況やリスナーを識別するための情報 nilなら未登録 init( callback: EventMethod! ){ se
先月発売された某ゲームで恐怖体験を堪能しているzukaです。 はじめに Swiftに初めて触れたのはリリース直後でしたが、しばらくSwiftから遠ざかっていました。 久々にSwiftに戻ってみれば、「Swift 3」となっており...「この書き方は何?」という状態に陥ることが結構ありました。 そこで今回は、Swiftでとまどった書き方を2個チョイスし、その書き方の意味を紐解いてみます。 その1. そのアンダースコアは何ですか? いたるところで見かけるようになった「_」(アンダースコア)。 以前はそんなに出現率は高くなかったように思うのですが、今回は3パターンのアンダースコアに遭遇しました。 • (1)のアンダースコア
はじめに モバイルアプリサービス部の中安です。 いよいよ、Swiftが3から4へとメジャーアップデートしました。 それに伴って自分もどんなところが変わったのかというところを調べたり、実際コードに書き起こして試したりしてきました。 これからSwift 4に取り組もうかなという方も多いと思いますので、できるだけサンプル例を示しながら、新しい機能や変更点、それらの使いどころや所感をザッと書いていきます。 数値比較 Swiftは型に厳しい言語ではありますが、Swift 4では整数の数値比較については型の厳しさが緩まりました。 例えば、下記のような比較はSwift 3ではすべてコンパイラがエラーで弾いていましたが、Swift 4では通ります。これは整数型のプロトコル周りの関係性などが見直されたことに起因するそうです。 let intValue: Int = 100 let int32Value: I
この記事は、「Speee Advent Calendar 2016」の6日目です。 iosアプリエンジニアはテスト1を書かない? TDDやテストコードを書く重要性が叫ばれて久しいですが 日々業務でiosアプリ2のコードを書いていると中々テストを書く機会がありません。 また、社外のエンジニアの方とお話させて頂いても、あまり積極的にテストを書くプロジェクトは少ないように感じます。 この記事ではiosアプリでテストを書かない(書きづらい)理由と、それを突破してテストを書くにはどうすればいいかを考えてみます。 UIのテスト XcodeにはUIテストツールが含まれています。 コードベースで動作を指定して画面操作をシミュレートすることが可能ですが あまり有効に活用できている現場は無いように感じます。 おそらく問題点は2つあって 一つ目はシミュレータの動作の遅延などによって再現性の低いバグを引き起こすこ
iOSDC 2017 9/17 13:50 TrackB https://iosdc.jp/2017/node/1396 iOSDesignPatternSamples https://github.com/marty-suzuki/iOSDesignPatternSamples FluxCapacitory https://github.com/marty-suzuki/FluxCapacitor Flux & MVVM (Brooklyn Swift Developers) https://speakerdeck.com/martysuzuki/flux-and-mvvm-brooklyn-swift-developers 補足資料 【iOSDC2017】MVC→MVP→MVVM→Fluxの実装の違いを比較してみる https://qiita.com/marty-suzuki/item
This is a legacy document for Xcode 8 and migrating from Swift 2. Xcode 8.0 comes with a Swift Migrator tool that helps you migrate your project to Swift 3, or update it to work with Swift 2.3 and the new SDKs. Pre-Migration Preparation To get the most effective migration, make sure that the project that you intend to migrate builds successfully, and all its tests pass, when using Xcode 7.3[.1]. A
iOSアプリケーション開発でのテストとは さて、本日はiOSアプリケーションを開発する際のテストについて書きたいと思います。 元々、Objective-Cでは下記のテスト用のライブラリが使われてきました。 Kiwi GHUnit Specta しかし、これらはあくまでもObjective-C時代にApple公式のテストフレームワークが充実する以前から活躍していたものです。今後、Swiftが普及するにつれて、これらのテストフレームワークもSwiftに最適化したものになっていくかもしれません。 とは言え、AppleもいつまでもOSSのテストフレームワークがなければならない状況は避け、Xcode内で完結することを目指していくかもしれません。 後ほど詳しく説明しますが、Xcode7からUIテストが新たに追加されたのも、その流れだと思っています。 本日は特に XCTest に焦点をあてた、iOSにお
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く