Fix pickerの閉じるボタンを押したときに既にpickerを開いていたら再表示しないように修正
Refactor use delegate instead of notification

notificationよりdelegateの方が処理に対する主語が明確になるためdelegateに変更
add __attribute__ directive