SORU
24 Mayıs 2009, Pazar


PerformSelector:withObject nasıl kullanılır:afterDelay: Cocoa?ilkel türleri ile

2* *NSObject Bu yöntem bana belirli bir süre sonra nesne bir değişken ile nesne üzerinde bir yöntemi çağırmak için izin verir. Olmayan bir nesne değişkeni yöntemleri (örneğin değer vermez, yüzer, yapılar, olmayan nesne işaretçileri, vb.) için kullanılamaz.

Bu nedirbasitolmayan bir nesne değişkeni bir yöntem ile aynı şeyi elde etmek için bir yol? Düzenli için performSelector:withObject: çözüm NSInvocation Bu arada gerçekten karmaşık olan) kullanmak olduğunu biliyorum. Ama "" bölümü. gecikme işlemek için nasıl bilmiyorum

Teşekkürler

CEVAP
14 Kasım 2009, CUMARTESİ


Değiştiremeyeceğim bir şey NSİnvocation kullanarak derdim:

SEL theSelector = NSSelectorFromString(@"setOrientation:animated:");
NSInvocation *anInvocation = [NSInvocation
            invocationWithMethodSignature:
            [MPMoviePlayerController instanceMethodSignatureForSelector:theSelector]];

[anInvocation setSelector:theSelector];
[anInvocation setTarget:theMovie];
UIInterfaceOrientation val = UIInterfaceOrientationPortrait;
BOOL anim = NO;
[anInvocation setArgument:&val atIndex:2];
[anInvocation setArgument:&anim atIndex:3];

[anInvocation performSelector:@selector(invoke) withObject:nil afterDelay:1];

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bmarian22

    bmarian22

    22 Aralık 2007
  • CorridorDigital

    CorridorDigi

    17 Mayıs 2010
  • Max Lee

    Max Lee

    18 AĞUSTOS 2006