benim ortamında böyle bir şey kurmak istiyorum.Bir kakao Bildiriminden c işlevi işaretçisinin çağrılmasına nasıl trambolin yapılır?
[[NSUserDefaultsController sharedUserDefaultsController] addObserver:self
forKeyPath:[@"values." stringByAppendingString: @"MyPreference"]
options:NSKeyValueObservingOptionNew
context:NULL];
Bunu bir Smalltalk ortamından yapıyorum. Özellikle Smalltalk, yukarıdakileri objektif çalışma zamanı özelliklerini kullanarak sürdürebilir. Sorun, addObserver:
argümanı olarak "ben" dir. Smalltalk'dan, Smalltalk'a geri arama işlevi görecek bir C işlevi işaretçisi oluşturabilirim. Ancak ObjectiveC ortamına bir Object'in ne olduğu hakkında bir fikir sunamaz.
NSInvokation
ve arkadaşlarına baktım, ancak bunların hiçbiri C işlevi işaretçisinin etrafına sarmak için kullanılmadı. Ve doğru olanı yapmak için
addObserver:forKeyPath:options:context:
'u çevireceklerinden emin değilim.
soru Herhangi bir yeni objc kod derleme olmadan C işlev işaretçisi yürütülmesi olan bir Bildirimi bir yanıt kaydetmek için mevcut Kakao nesneleri kullanmak, nasıl aşağı Haşlanmış.
Bu maalesef bana yardımcı olmuyor Justin. Yeni ObjC sınıfları oluşturamıyorum. Sadece objc çalışma zamanının ortaya çıktığı mevcut olanları kullanın. –
@Travis ah! Bunun da kısıtlama olduğunu anlamadım. – justin