Если вы работаете на iOS4, похоже, что вместо этого вы можете отправить уведомление в блок. NSNotificationCenter использует этот метод:
- (id)addObserverForName:(NSString *)name object:(id)obj queue:(NSOperationQueue *)queue usingBlock:(void (^)(NSNotification *))block NS_AVAILABLE(10_6, 4_0);
Тогда вы можете сделать что-то вроде:
MyClass.m:
static void (^receiveNote)(NSNotification *) = ^(NSNotification * note)
{
UITextField * field = [ note object ] ;
// forward notification to C++ here
} ;
...
@implementation MyClass
...
-(void)setUpNotifications
{
[ [ NSNotificationCenter defaultCenter ] addObserverForName:UITextFieldTextDidChangeNotification
object:self.textField
queue:[ NSOperationQueue mainQueue ]
usingBlock:receiveNote ] ;
}