2011-02-02 4 views
1

UIButton hérite éventuellement de NSObject et NSObject implémente le protocole NSKeyValueBindingCreation. Alors pourquoi ne puis-je pas lier la propriété d'un UIButton à la propriété d'une autre classe?Comment lier une propriété UIButton à une autre propriété?

[myUIButton bind:@"enabled" 
     toObject:myOtherObject 
    withKeyPath:@"otherObjectBOOLProperty" 
     options:nil]; 

Il en résulte l'avertissement

'UIButton' ne peut pas répondre à '-bind: toObject: withKeyPath: Options:'

Ce que je suis en train de faire est lier l'état activé de mon UIButton à myOtherObject.otherObjectBOOLProperty.

Répondre

3

C'est pas, iOS » NSObject ne fait pas sont conformes au protocole NSKeyValueBindingCreation.

J'utiliserais directement Key-Value Observing dans votre cas. Voir le Adopted Protocols de NSObject.

+0

Ugh, oui, merci . C'est ce que je reçois pour que les documents Mac OS et iOS soient recherchés en même temps. Donc, je suppose que la bonne façon de faire cela est par le biais du KVO directement? – devguydavid

+0

@ cygnl7 Oui, utilisez KVO. –

+0

@ cygnl7 Je noterai également que NSKeyValueBindingCreation est un protocole informel qui n'apparaît donc pas dans la section "Protocoles adoptés" d'OS X, NSObject. –

1

NSObject est conforme uniquement au protocole NSObject mais vous pouvez utiliser KVO pour lier que:

Key-Value Observing Programming guide, lisez spécialement comment enregistrer une propriété à observer et comment recevoir des notifications;)

Questions connexes