Iphone 如何在UIStepper上实现KVO

Iphone 如何在UIStepper上实现KVO,iphone,ios,key-value-observing,uistepper,Iphone,Ios,Key Value Observing,Uistepper,我正在创建KVO的小演示。据我所知,KVO用于在属性值更改时通知。我想在UIStepper上实现KVO。我想在用户更改UIStepper的值时通知。我做了一些代码如下 ViewController.h @interface ViewController : UIViewController { IBOutlet UIStepper *stepper; } @property NSInteger intToObserve; @end ViewController.m @interfac

我正在创建
KVO
的小演示。据我所知,KVO用于在属性值更改时通知。我想在
UIStepper
上实现
KVO
。我想在用户更改
UIStepper
的值时通知。我做了一些代码如下

ViewController.h

@interface ViewController : UIViewController
{
   IBOutlet UIStepper *stepper;
}

@property NSInteger intToObserve;

@end
ViewController.m

@interface ViewController ()

@end

@implementation ViewController
@synthesize intToObserve;

- (void)viewDidLoad
{
    [super viewDidLoad];
    stepper.minimumValue = 0;
    stepper.maximumValue = 1000;
    [self addObserver:self forKeyPath:@"intToObserve" options:NSKeyValueObservingOptionNew context:nil];
}

- (IBAction)valueChanged:(UIStepper *)sender
{
    double value = [sender value];
    intToObserve = value;
}

-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
    NSLog(@"Notification Received");
}
@end
问题是,当我点击加号按钮时,步进器的值发生了变化,但我的通知方法并没有收到任何通知,甚至我在那个里设置了断点,但控制并没有到达那个里。表示未调用的
-(void)observeValueForKeyPath

请提出一些想法,我做错了什么,或者这是另一个解决方案吗


感谢您的支持。

您需要通过setter方法进行更改,否则通知将不会触发。改变

intToObserve = value;


您需要通过setter方法更改它,否则通知将不会触发。改变

intToObserve = value;


还有一件事要问。如何在通知方法中获取新的更改值。我可以得到整数形式的新步进值吗?所有信息都在更改字典中。查看文档了解更多信息。还有一件事要问。如何在通知方法中获取新的更改值。我可以得到整数形式的新步进值吗?所有信息都在更改字典中。有关更多信息,请参阅文档。