2017-12-13 9 views
0

関数の配列を作成しようとしましたが、Xcodeはそれを許しませんでした。 これは私が取得エラーです:関数の配列を作成できません

タイプの値 '(のViewController) - >() - >(のViewControllerが)' はメンバーを持っていない 'firstFunc'

基本的に私がどのように配列知っている必要があります後でそれらをランダムに呼び出すために機能が作成されます。

let randomFunc = [self.firstFunc(),self.secondFunc(),self.thirdFunc()] 

func firstFunc(){ 
} 

func secondFunc(){ 
} 

func thirdFunc(){ 
} 

答えて

1

私は、現在、あなたが関数を呼び出している、あなただけの関数の名前を与える必要があると思う

そして、あなたが同様にselfを使用したい場合は、このような何かを行うことができます(あなたが必要)selfを使用するには、このプロパティlazy varを作るために

class foo { 
     lazy var randomFunc = [self.firstFunc,self.secondFunc,self.thirdFunc] 
     func firstFunc(){ 

       print(123) 
     } 

     func secondFunc(){ 


     } 

     func thirdFunc(){ 


     } 
} 

使用法:

let f = foo() 
f.randomFunc[0]() // prints 123 
+0

働いたおかげでねえ、それは私が作成してみましょう私はそれをどのように呼び出すべきかわかりません。 – Alex

+0

私はrandomFunc [0]を試してみましたが、エラーが出ました – Alex

+0

@Alex何がエラーですか? – 3stud1ant3

0
lazy var array = [self.fun1,self.fun2,self.fun3] 

機能:

func fun1() { 
    print("func1") 
} 
func fun2() { 
    print("func2") 

} 
func fun3() { 
    print("func3") 

} 

用途:

self.array[0]() 

プリント:

func1 
関連する問題