Creare un timer in iOS

di Anonimizzato9942 il
9 risposte
Ciao a tutti,
tanto per cominciare volevo provare a fare qualche applicazione stupidina per iPad, pensavo di fare una pallina che rimbalza lungo le pareti dello schermo (se qualcuno vuol condividere sperimentazioni simili è il benvenuto). Per fare questo suppongo che serva un timer, da qui la domanda:

Come si crea e si usa un timer in iOS?

9 Risposte

  • Wow! Ci sono riuscito! Ho fatto la pallina che rimbalza!!!

    Mi ci è voluto un po, per via di tanti piccoli stupidissimi problemi. Raccolgo un po le idee poi spiego come ho fatto. I punti interessanti sono: Inserimento di un' immagine, collegamento con il ViewController, inserimento e uso di un timer.
    A dopo
  • Perché non lo fai anche per Windows Phone?
  • Per cosa lo usi il timer in un applicazione nella quale si ha una pallina che rimbalza?
  • Orso Bruno ha scritto:


    Perché non lo fai anche per Windows Phone?
    Perche li lo so gia fare!

    Scherzi a parte l' idea di fare gli stessi semplici esempi sia per iOS che per Windows Phone mi sembra una buona cosa. Si potrebbero fare dei confronti interessanti, però in Windows Phone il thread lo apri tu e io ti seguo.

    Sarebbe anche interessante fare la stessa cosa per Android, se ci fosse qualcuno disponibile ...
  • GianmariaLari ha scritto:


    Per cosa lo usi il timer in un applicazione nella quale si ha una pallina che rimbalza?
    Per muovere l' immagine devo periodocamente calcolarne le nuove coordinate. Il timer è un componente che con una frequenza stabilita (ad esempio ogni secondo) richiama una certa funzione, all' interno di questa funzione cambio le coordinate dell' immagine.

    Questo vale perchè sto parlando di una appplicazione Cocoa (una finestra normale, tipo quelle di windows) il discorso sarebbe diverso in una applicazione OpenGL, dove c' è un metodo Update che viene richiamato periodicamente.
  • Ho aperto il thread che dicevi in Windows Phone
  • Ottimo, faccio lo stesso pure io in iOS.
  • Per tornare alla domanda 'come si creano i timer':
    Per i timer si usa la classe NSTimer, ecco un esempio:
    
    - (void)viewDidLoad
    {
      ...
      [NSTimer scheduledTimerWithTimeInterval: 0.1
          target: self
          selector:@selector(faiQualcosa)
          userInfo: nil 
          repeats:YES];  
    }
    
    -(void) faiQualcosa
    {
       // codice da esegire a intervalli regolari
    }  
    
    In questo caso per il la frequenza del timer si è usato un tempo frazionario, 0.1 indica un decimo di secondo.
  • Ciao a tutti,
    ho provato a utilizzare il codice indicato qui sopra ma non ho ben capito cosa dovrei mettere alla voce @selector, qualcuno può darmi qualche consiglio?
    grazie in anticipo
Devi accedere o registrarti per scrivere nel forum
9 risposte