Skip to content

Instantly share code, notes, and snippets.

@kichiemon
Last active November 27, 2019 14:35
Show Gist options
  • Select an option

  • Save kichiemon/afaf15eedecf5f3472ab to your computer and use it in GitHub Desktop.

Select an option

Save kichiemon/afaf15eedecf5f3472ab to your computer and use it in GitHub Desktop.
[swift]4ステップで実装できるdelegate ref: http://qiita.com/iKichiemon/items/a55b3624e042ea843573
class User {
}
class MailServer {
}
class User {
/*
* メール送信の依頼書
*/
let delegate:MailDelegate?
/*
* ボタンが押された時の処理
*/
func sendButtonPushed(message: String){
/*
* 依頼書に書いた機能の実行をお願いする
* 「このメッセージでメールを送信してください!」
*/
self.delegate?.sendMail(message)
}
}
protocol MailDelegate {
/*
* してほしい処理の名前と引数を書くだけ。
* 「メール送信お願いします!」
*/
func sendMail(message: String)->Void
}
/*
* delegateを継承する = 依頼書を受け取る
* 「依頼書を受領しました。なるほど、こういう機能があればいいんですね。実装します!」
*/
class MailServer: MailDelegate {
var user:User!
init(){
self.user = User()
// 私(MailServer)が処理の実行を承ります
self.user.delegate = self
}
/*
* メールを送信する処理。ユーザーからの依頼があったときに実行される
* 「あ、このメッセージを送るんですね、わかりました。メール送信します!」
*/
func sendMail(message: String)->Void{
// メール送信処理を書く
}
}
protocol MailDelegate {
}
class User {
/*
* メール送信の依頼書
*/
let delegate:MailDelegate?
/*
* ボタンが押された時の処理
*/
func sendButtonPushed(){
}
}
class MailServer {
/*
* メールを送信する処理
*/
func sendMail(){
}
}
protocol MailDelegate {
/*
* してほしい処理。
* 「メール送信お願いします!」
*/
func sendMail()->Vold
}
class User {
/*
* メール送信の依頼書
*/
let delegate:MailDelegate?
/*
* ボタンが押された時の処理
*/
func sendButtonPushed(message: String){
/*
* 依頼書に書いた機能の実行をお願いする
* 「このメッセージでメールを送信してください!」
*/
self.delegate?.sendMail(message)
}
}
class MailServer {
/*
* メールを送信する処理
* 「あ、このメッセージを送るんですね、わかりました。メール送信します!」
*/
func sendMail(message: String)->Void{
// メール送信処理を書く
}
}
protocol MailDelegate {
/*
* してほしい処理の名前と引数を書くだけ。
* 「メール送信お願いします!」
*/
func sendMail(message: String)->Void
}
/*
* delegateを継承する = 依頼書を受け取る
* 「依頼書を受領しました。なるほど、こういう機能があればいいんですね。実装します!」
*/
class MailServer: MailDelegate {
let user:User!
init(){
// 私(MailServer)が処理の実行を承ります
self.user.delegat = self
}
/*
* メールを送信する処理。ユーザーからの依頼があったときに実行される
* 「あ、このメッセージを送るんですね、わかりました。メール送信します!」
*/
func sendMail(message: String)->Void{
// メール送信処理を書く
}
}
class User {
/*
* メール送信の依頼書
*/
let delegate:MailDelegate?
/*
* ボタンが押された時の処理
*/
func sendButtonPushed(message: String){
/*
* 依頼書に書いた機能の実行をお願いする
* 「このメッセージでメールを送信してください!」
*/
self.delegate?.sendMail(message)
}
}
protocol MailDelegate {
/*
* してほしい処理の名前と引数を書くだけ。
* 「メール送信お願いします!」
*/
func sendMail(message: String)->Void
}
/*
* delegateを継承する = 依頼書を受け取る
* 「依頼書を受領しました。なるほど、こういう機能があればいいんですね。実装します!」
*/
class MailServer: MailDelegate {
var user:User!
init(){
self.user = User()
// 私(MailServer)が処理の実行を承ります
self.user.delegate = self
}
/*
* メールを送信する処理。ユーザーからの依頼があったときに実行される
* 「あ、このメッセージを送るんですね、わかりました。メール送信します!」
*/
func sendMail(message: String)->Void{
// メール送信処理を書く
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment