前提・実現したいこと
SwiftOSCというフレームワークを使用して、OSCを受信したらラベルの文言を変える、ということをしたいです。
OSCの受信はコンソール上で確認できていて、ライブラリ自体はうまく動いているのですが、
受信を受け取ったあとの処理をclass OSCHandlerの中に書くとエラーが出てしまいます。
別クラスなので、もとのViewControllerで定義したものが参照できないのだと思いますが、解決方法がわからず詰まっております。
初歩的と思いますが、ご教示いただけると幸いです。
発生している問題・エラーメッセージ
Instance member 'labelChange' cannot be used on type 'ViewController'; did you mean to use a value of this type instead?
該当のソースコード
Swift
1import UIKit 2import SwiftOSC 3 4class ViewController: UIViewController ,UIGestureRecognizerDelegate { 5 @IBOutlet weak var label1: UILabel! 6 7 var server = OSCServer(address: "", port: 8080) //OSC受信のセットアップ 8 9 override func viewDidLoad() { 10 super.viewDidLoad() 11 12 server.start() 13 server.delegate = OSCHandler() 14 label1.text = "Not yet" 15 } 16 17 class OSCHandler: OSCServerDelegate { 18 func didReceive(_ message: OSCMessage){ 19 label1.text = "Received!" //ここがエラー Instance member 'label1' of type 'ViewController' cannot be used on instance of nested type 'ViewController.OSCHandler' 20 } 21 }
補足情報(FW/ツールのバージョンなど)
XCode10.3
SwiftOSC https://github.com/ExistentialAudio/SwiftOSC
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/21 15:46