Protocol and Delegates sample by Swift.