Zufälliges Element aus Arrays

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Zufälliges Element aus Arrays

    Hi zusammen,

    ich bin noch recht neu in der iOS-Entwicklung und meine Kenntnisse in Objective-C sind leider bisher auch begrenzt.
    Ich habe im gesamten Projekt 10 Arrays. Diese Arrays sind sind auf verschiedene View Controller verteilt. Ich speichere sie nicht global, sondern definiere sie im jeweiligen View Controller.
    Ich will nun für meine App eine zufällige Stelle aus allen Arrays bekommen. D.h. nicht eine Stelle pro Array, sondern aus allen 10 Arrays insgesamt ein Element mit gleichmäßiger Wahrscheinlichkeit.

    Wie kann ich sowas umsetzen? Soll ich die Arrays global speichern um mit einer Methode auf alle Zugriff zu haben?
    Ich hoffe ich habe das einigermaßen verständlich formuliert, für Hilfe wäre ich sehr dankbar!

    LG :)
  • Mir fallen da spontan diverse Ansätze ein:
    • Alle Arrays zentral speichern, z. B. als Properties des App Delegates
    • Den Index des ausgewählten Elementes zentral speichern
    • Beim Auswählen eines Elementes von "extern" ein Property aller ViewController setzen, um den Index zu speichern
    • Eine Notification losschicken, das gerade das Element "x" ausgewählt wurde, auf welche die VCs reagieren und sich den Index selber merken...
    • ...
    Die beste Lösung hängt von der Aufgabe Deiner App ab, ich persönlich verwende recht gerne Notifications, aber bei Deiner Beschreibung vermute ich, dass Du Dich mit dem MVC-Prinzip auseinander setzen solltest: Es liest sich so, als wäre Dein Datenmodell auf diverse ViewController verteilt. Das würde ich ändern...

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • Okay, da hatte ich wohl die Aufgabenstellung missverstanden, ich dachte, das Problem sei, einmal eine Zufallszahl zu erzeugen und diesen Wert auf alle ViewController zu "verteilen"... Man könnte natürlich stufenweise vorgehen und erst den VC, dann ein Element dessen Arrays per Zufallszahl ermitteln, aber ich plädiere noch immer für ein sauber gekapseltes Datenmodell :D

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.