SwiftkotlinのInterfaceではJavaのinterfaceの機能に加え、フィールドの定義とデフォルト実装ができるようになっています。この機能を使ってSwiftのProtocolExtensionっぽいことをやってみました。実装内容ですが、例えば画像をギャラリーやカメラアプリをIntentで立ち上げて取得したい場合の処理などを複数のActivityに持たせたい場合を考えます。Javaであればそれらの機能を持ったActivityのサブクラスを作り継承させるか、それらの機能をもったUtilクラスを作るなどが考えられます。この方法はもろもろの理由からあまりイケてないと思います。これをKotlinのinterfaceで実装してみます。}}インターフェース名はSwiftの~ableに沿って付けました。Uri?uri保持用のフィールドです。フィールド定義では宣言のみか、getterで常に同じ値を返すプロパティの設定しか出来ません。REQUEST_IMPORT_GALLERYリクエストコードのフィールドです。これは定数でよいのでgetterプロパティの宣言をしています。実装先で値をセットしても良いのですが、こうすることでInterfaceの実装先で宣言の必要がなくなります。startGalleryImportActivityメソッドを定義してデフォルト実装を追加しています。thisをAppCompatActivityにスマートキャストしています。することで以降の実装はインターフェースがAppCompatActivityに実装されている前提で書くことができるので便利です。}}Kotlinだとデフォルト実装を1つしか持てないですが、SwiftだとProtocolExtensionをwhereで無限に実装を分けれれるのでSwiftの方が便利デスね。18:54KotlinのInterfaceでSwiftのProtocolExtensionぽいことをやるTweet広告を非表示にする関連記事2017-12-06KotlinJSを動かす先日Kotlin1.2がリリースされました。バッ...2017-07-20AndroidのカスタムOSが使われている端末でDevメニューが出ない時の対処もー、クソん。シス...2016-10-28Retrofitで503の時にメンテナンスモードを表示するKotlinは特に関係ないけど。個人アプリの動向を晒す。ExpoについてLTしてきました月別アーカイブはてなブログをはじめよう!saburesanさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。