Frage

Ich habe diesen Code: generasacodicetagpre.

Das Ziel startet, während der Benutzer eine Taste hält.Wenn der Benutzer freigibt, wird der Timer angehalten.

Aber ich gebe das:

- [__ nscftimer Intvalue]: Nicht erkanntes Selektor an Instanz 0x4AE360 gesendet.

Wenn ich jedoch in UserInfo eine NSNumber-Klasse anpapiere, warum erhalte ich den Timer?

danke.

War es hilfreich?

Lösung

Your timer action method should look like this

-(void)rotateSelectedItem:(NSTimer*)sender

You can get at the userInfo by doing

NSNumber *userInfo = sender.userInfo;

Andere Tipps

You misunderstood the signature of the selector that you register with the timer. The sender is NSTimer*, not the userInfo object that you pass into its constructor:

-(void)rotateSelectedItem:(NSTimer*)sender
{
    float currAngle = [selectedItem currentRotation];
    if ([sender.userInfo intValue] == RDUtilitiesBarRotationLeft)
    {
        [selectedItem rotateImage:currAngle - 1];
    }
    else
    {
        [selectedItem rotateImage:currAngle + 1];
    }
}

From the documentation:

The message to send to target when the timer fires. The selector must have the following signature:

- (void)timerFireMethod:(NSTimer*)theTimer
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top