Amaç C'de bir işlev işaretçisini C'ye geçirmenin karşılığı nedir?
@implementation ThisObject
-(void)start {
SomeOtherObject *someOtherObject = [SomeOtherObject alloc];
[someOtherObject doSomethingAndCallThisFunctionWhenUrDone:myCallBackFunction :self];
}
-(void)myCallBackFunction {
// :)
}
, bunu nasıl başarabiliriz?
Ama bunların SomeOtherObject tarafı nedir? SomeOtherObject'te nelerin bildirilmesi gerekiyor ve ne yapması gerekiyor? Bir doSomethingAndCallThisFunctionWhenUrDone olması gerekir. Ancak, ThisObject nesnesinin adı geçen yöntemi çağırmak için gerçekte ne yapması gerekiyor? Şimdiye kadar bir milyonda bir milyon BTW. – Joe
Bazı uygulama ayrıntılarını göstermek için cevabımı genişlettim. İşlev işaretçileri ve blokları için onları aramak için bir nesneye ihtiyacınız yoktur, ancak nesneleri argüman olarak iletebilirsiniz. – rbrown