私はSwiftを学習しようとしています - 現在のタスクは、文字列を含むオブジェクトの配列からMacアプリケーションのための簡単なメニューを作っています。問題は今セレクタを渡す方法です。セレクタは配列内では文字列ですが、コード内では関数です。配列の文字列をSwiftのセレクタとして使用できますか?
クラスは
class menuArrayObject
{
var title: String = ""
var subMenuTitles: [String] = []
var subMenuSelectors: [String] = []
}
ここに私のコード
for index2 in 0...counter2 - 1
{
let subMenuTitle = arrayObject.subMenuTitles[index2]
let subMenuSelector = NSSelectorFromString(arrayObject.subMenuSelectors[index2])
let subMenu = NSMenuItem(title: subMenuTitle, action: #selector(subMenuSelector(_:)),keyEquivalent: "")
indexMenu.addItem(subMenu)
}
(LETサブメニュー上=)エラーメッセージがあるされている: "#selectorの引数は、プロパティを参照することはできません"
これは可能ですか?これは実際に行うのが望ましいのでしょうか?より良い方法がありますか?事前で
おかげで何をしようとするテキスト
のような例この種のために意図され、このSOポストチェックアウトします。http: //stackoverflow.com/questions/30286143/swift-call-class-function-or-property-by-string – penatheboss