Swiftクラスのインスタンスから特定の名前の接頭辞を持つfuncの配列を、それらの関数の名前をハードコードしないで取得するにはどうすればよいですか?Swiftクラスインスタンス内のfuncの配列
class Dialog {
init() {
}
func stepOne(session: Session) {
...
}
func stepTwo(session: Session) {
...
}
func stepThree(session: Session) {
...
}
func someOtherFunc() {
...
}
func steps() -> [(Session) -> Void] {
// should return [stepOne, stepTwo, stepThree];
}
}
スウィフト自体にはそのような反射能力がないため、Obj-Cランタイムを掘り下げて調べる必要があります(ただし、その場合でも、機能の順序)。しかし、これは非常に脆いデザインのように思えます( 'stepsRemaining'プロパティを追加した場合、合成されたObj-Cゲッターセレクターには" step "という接頭辞が付きます) - 配列の指定に間違いはありません。 – Hamish