前提・実現したいこと
class-Onlyなprotocolを作成し、AppDelegateに対してextentionさせたい
発生している問題
- 環境
Apple Swift version 5.0.1 (swiftlang-1001.0.82.4 clang-1001.0.46.5)
XCode Version 10.2.1 (10E1001)
該当のソースコード
swift
1import UIKit 2 3protocol LocationActions: class { 4 func didTapAllow() -> Void 5} 6 7extension AppDelegate: LocationActions { 8 func didTapAllow() { 9 print("AppDelegate extension") 10 } 11} 12 13class LocationViewController: UIViewController { 14 15 @IBOutlet weak var locationView: LocationView! 16 weak var delegate: LocationActions? 17 18 override func viewDidLoad() { 19 super.viewDidLoad() 20 locationView.didTapAllow = { 21 print("viewDidLoad in locationView.didTapAllow - LocationViewController.swift") 22 self.delegate?.didTapAllow() 23 } 24 } 25 26 override func didReceiveMemoryWarning() { 27 super.didReceiveMemoryWarning() 28 } 29} 30
想定する挙動
didTapAllow()が呼び出されると
output
1viewDidLoad in locationView.didTapAllow - LocationViewController.swift 2AppDelegate extension
###実際の挙動
didTapAllow()が呼び出されると
output
1viewDidLoad in locationView.didTapAllow - LocationViewController.swift
このようにextensionで追記したmethodの中身がうまく実行されません
解決策・指摘点等あればご教授いただけると幸いです。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/22 14:17