1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Swiftでのクロージャの記述について

Posted at

Swiftをサンプルコードを見ながら学習していて、以下の記述に戸惑いました。

PHPhotoLibrary.requestAuthorization{ status in
	if status == .Authorized {
   		self.prepareAnnotations()
   	}
}

上記は、以下と同じ意味になります。

PHPhotoLibrary.requestAuthorization({ (status) -> Void in
	if status == .Authorized {
    	self.prepareAnnotations()
    }
})

後者の記述から、requestAuthorizationメソッドの引数にクロージャを渡している事が理解できました。

Swiftでは、最後の引数がクロージャである場合は、()内から追い出して、メソッド呼び出しの後ろの{}内に記述する事ができるようです。前者のコードの場合は引数が1つであるため、()すら不要となっています。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?