2017-08-09 18 views
0

私は自分の携帯電話を振るたびに、私の配列からランダムな質問を選択するアプリを作っています。以下に示すように、私は "override function motionBegan"で "print"関数を呼び出そうとしましたが、うまくいきませんでした。誰も助けることができますか?ビューコントローラからオーバーライド関数への変数へのアクセス

override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 

     let array = ["what did your eat for breakfast?", "First time you kissed a boy/girl? Explain.", "Whats your body count?", "When was the last time you went to church?", "Would you date someone from another religion?", "East booty(Guy) ?or let a guy eat your booty(Girl)?", "If you die right now where will you end?", "whats on your mind?", "Ever has a one night stand?", "Do you find the other person attractive?", "How old where you when you first hd sex?. Explain.", "You believe in Jesus?", "Where do you see yourself in 10 years?", "First time you gave head?", "Slap your mum or your dad? Choose one.", "Last time you watched porn?", "How much is in your account?", "One thing you hate about the other person?", "One thing you love about the other person?", "Would you kiss the person close to you?", "One thing you hate about yourself?", " One thing you love about yourself?","Suck toes or eat booty?", "Best rapper?", "Best singer?", "If you had a billion dollars for 24 hours how will you spend it?"] 

      let randomIndex = Int(arc4random_uniform(UInt32(array.count))) 
      // Get a random item 
      let randomItem = array[randomIndex] 

     func print() { 
      textField.text = randomItem 
     } 
    } 

    override func motionBegan(_ motion: UIEventSubtype, with event: UIEvent?) { 
     print; 

    } 
+0

問題点を教えてください。 'motionBegan'関数を実装するときに' override'する必要がありますか? –

+0

あなたはDidloadで動的質問を選択していますが、作成された関数で選択して、検出されたモーションの最後に新しく作成された関数を呼び出し、didLoadで助けてくれることを願っています –

+0

コードが整形されていますか?あなたのメソッドの前にあまりにも多くの閉じた括弧? – Maxime

答えて

0

ランダム値の印刷を開始するには、次のコードを使用します。モーションが始まるときにランダムな値を取得する必要があります。また、毎回呼び出すことができるように、printDidLoadからprint関数を呼び出す必要があります。

let array = ["what did your eat for breakfast?", "First time you kissed a boy/girl? Explain.", "Whats your body count?", "When was the last time you went to church?", "Would you date someone from another religion?", "East booty(Guy) ?or let a guy eat your booty(Girl)?", "If you die right now where will you end?", "whats on your mind?", "Ever has a one night stand?", "Do you find the other person attractive?", "How old where you when you first hd sex?. Explain.", "You believe in Jesus?", "Where do you see yourself in 10 years?", "First time you gave head?", "Slap your mum or your dad? Choose one.", "Last time you watched porn?", "How much is in your account?", "One thing you hate about the other person?", "One thing you love about the other person?", "Would you kiss the person close to you?", "One thing you hate about yourself?", " One thing you love about yourself?","Suck toes or eat booty?", "Best rapper?", "Best singer?", "If you had a billion dollars for 24 hours how will you spend it?"] 
var randomItem = "" 

override func viewDidLoad() { 
    super.viewDidLoad() 
} 

func printing() { 
    let randomIndex = Int(arc4random_uniform(UInt32(array.count))) 
    randomItem = array[randomIndex]   
    textField.text = randomItem 
} 

override func motionBegan(_ motion: UIEventSubtype, with event: UIEvent?) { 
    self.printing() 
} 
+0

これは働いた!!!!ありがとう! – Perewillz

+0

配列内のすべての質問をするまで、アプリが同じ質問をしないようにする方法を知っていますか?あなたは私が配列== 0まで質問するたびに配列から質問項目を削除できると思いますか? – Perewillz

+0

こんにちは、ありがとうございます。あなたがする必要があるのは、リストから要素をランダムに取り出し、それらの要素を他のリストから削除することでいっぱいになる別の配列を作成することです。いったんこの配列を取得すると、最初から配列を開始することができ、ランダムにオブジェクトを取得する必要はありません。 –

関連する問題