2017-08-07 12 views
0

パラメータ"エラー。それは完全に狂気だ場合、私を修正してくださいので、私はここに可変引数を使用すると良いアイデアである場合でも、わからない正直に言うとは、このコードで</p> <p><strong>にpermission.permissionName</strong></p> <p>を参照する方法はありKotlin

sealed class AppPermission(val permissionName: String, 
          val requestCode: Int, 
          val deniedMessageId: Int, 
          val explanationMessageId: Int) {...} 

AppPermissionクラスのシグネチャは次のようになります。

基本的に私はAndroid 5.0用の許可のロジックを実装しようとしていますが、私たちが必要とするパーミッションがいくつあるのか分かりませんので、ここでvarargsを使用することを考えました。

答えて

1

varargは、基本的に配列を作成するための文法的な砂糖です。したがって、あなたはあなたがこれを行うにしたい場合があることを意味Array<AppPermission>、のようなパラメータpermissionを治療する必要があります。ここでは

fun Activity.isPermissionGranted(vararg permissions : AppPermission) = permissions.all { permission -> (PermissionChecker.checkSelfPermission(this, permission.permissionName) == PackageManager.PERMISSION_GRANTED) } 

を、allは、各値のためBooleanを計算し、標準ライブラリの関数であります配列を返し、Booleanがすべてtrueの場合はtrueを返します。

関連する問題