- selectorで指定するメソッドが引数をとる場合
- コロンが必要
override func viewDidLoad() {
// ...
UIRefreshControl().addTarget(
self,
action: "引っ張って更新:", //←ここ
forControlEvents: UIControlEvents.ValueChanged
)
// ...
}
func 引っ張って更新(_:AnyObject){
// ...
}
- selectorで指定するメソッドが引数を取らない場合
- コロンが不要
- コロンをつけると下記出力が出る
- *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[hoge.ViewController 引っ張って更新:]: unrecognized selector sent to instance 0x145e187d0'
override func viewDidLoad() {
// ...
UIRefreshControl().addTarget(
self,
action: "引っ張って更新", //←ここ
forControlEvents: UIControlEvents.ValueChanged
)
// ...
}
func 引っ張って更新(){
// ...
}
selectorに初めて触れ、ググっていると「コロンつけるべし」という記述が多かったのでつけていたらそれらは引数ありメソッドを指定していたという。きちんとコロンの意味まで調べないとだめですね。