Key-Value Coding, Key-Value observing(Chapter 7 of Cocoa Programming for Mac OS X)
2011-02-10 10:33
816 查看
1 #import <Foundation/Foundation.h>
2
3
4 @interface AppController : NSObject
5 {
6 int fido;
7 }
8
9 - (int)fido;
- (void)setFido:(int)x;
- (IBAction)incrementFido:(id)sender;
@end
AppController.m 1 #import "AppController.h"
2
3 @implementation AppController
4
5 - (id)init
6 {
7 [super init];
8 [self setValue:[NSNumber numberWithInt:5] forKey:@"fido"];
9 NSNumber *n = [self valueForKey:@"fido"];
NSLog(@"fido = %@", n);
return self;
}
- (int)fido
{
NSLog(@"-fido is returning %d", fido);
return fido;
}
- (void)setFido:(int)x
{
NSLog(@"-setFido: is called with %d", x);
fido = x;
}
- (IBAction)incrementFido:(id)sender
{
[self willChangeValueForKey:@"fido"];
fido++;
NSLog(@"fido is now %d", fido);
[self didChangeValueForKey:@"fido"];
}
@end
2
3
4 @interface AppController : NSObject
5 {
6 int fido;
7 }
8
9 - (int)fido;
- (void)setFido:(int)x;
- (IBAction)incrementFido:(id)sender;
@end
AppController.m 1 #import "AppController.h"
2
3 @implementation AppController
4
5 - (id)init
6 {
7 [super init];
8 [self setValue:[NSNumber numberWithInt:5] forKey:@"fido"];
9 NSNumber *n = [self valueForKey:@"fido"];
NSLog(@"fido = %@", n);
return self;
}
- (int)fido
{
NSLog(@"-fido is returning %d", fido);
return fido;
}
- (void)setFido:(int)x
{
NSLog(@"-setFido: is called with %d", x);
fido = x;
}
- (IBAction)incrementFido:(id)sender
{
[self willChangeValueForKey:@"fido"];
fido++;
NSLog(@"fido is now %d", fido);
[self didChangeValueForKey:@"fido"];
}
@end
相关文章推荐
- Cocoa Programming for Mac OS X 第七章(Key-Value Coding; Key-Value Observing)摘录
- Images and Mouse Events(Chapter 18 of Cocoa Programming for Mac OS X)
- Sheets(Chapter 25 of Cocoa Programming for Mac OS X)
- Core Data Relationships(Chapter 30 of Cocoa Programming for Mac OS X)
- NSTimer(Chapter 24 of Cocoa Programming for Mac OS X)
- Creating NSFormatters(Chapter 26 of Cocoa Programming for Mac OS X)
- Target/Action(Chapter 5 of Cocoa Programming for Mac OS X)
- Custom Views(Chapter 17 of Cocoa Programming for Mac OS X)
- View Swapping(Chapter 29 of Cocoa Programming for Mac OS X)
- NSArrayController(Chapter 8 of Cocoa Programming for Mac OS X)
- Nib Files and NSWindowController(Chapter 12 of Cocoa Programming for Mac OS X)
- Using Notifications(Chapter 14 of Cocoa Programming for Mac OS X)
- Keyboard Events(Chapter 19 of Cocoa Programming for Mac OS X)
- Archiving(Chapter 10 of Cocoa Programming for Mac OS X)
- Using Alert Panels(Chapter 15 of Cocoa Programming for Mac OS X)
- Drag-and-Drop(Chapter 23 of Cocoa Programming for Mac OS X)
- Memory Management(Chapter 4 of Cocoa Programming for Mac OS X)
- Let's Get Started(Chapter 2 of Cocoa Programming for Mac OS X)
- Objective-C(Chapter 3 of Cocoa Programming for Mac OS X)
- Helper Objects (Chapter 6 of Cocoa Programming for Mac OS X)