【发布时间】:2012-11-29 16:59:03
【问题描述】:
我有一个非常简单的问题,希望在我开始理解绑定时有人能回答。我想以编程方式更改我的 NSString 值,并通过绑定将 NSTextField 更新为该值。我有一个 NSTextField 和 NSLabel。为了表示正确更改 myString 的值,我有一个 NSButton。
- 我已将 NSTextField 的值绑定到 App Delegate 的 myString 属性,并检查了持续更新值。
- 我已将 NSLabel 的值绑定到 App Delegate 的 myString 属性。
- 我将 NSButton 插座连接到 setDefault 方法。
当我输入 NSTextField 时,NSLabel 会按预期更新,但是当我单击按钮时,myString 属性会更新,但不会在 NSTextField 中。
我需要做什么才能将 NSTextField 更新到 myString 属性????
AppDelegate.h
@interface AppDelegate : NSObject<NSApplicationDelegate>
{
NSString *myString;
}
@property (assign) IBOutlet NSWindow *window;
@property NSString *myString;
- (IBAction)setDefault:(id)sender;
@end
AppDelegate.m
@implementation AppDelegate
@synthesize window = _window;
@synthesize myString;
- (void)applicationDidFinishLaunching:(NSNotification*)aNotification
{
myString = @"This is a string";
}
- (IBAction)setDefault:(id)sender
{
NSLog(@"%@", myString);
myString = @"This is a string";
NSLog(@"%@", myString);
}
@end
【问题讨论】:
-
您应该在某个时候将问题标记为已回答。
-
如何将其标记为已回答???
-
您应该会看到arrow next to each answer。您只能将一个答案标记为解决方案。
标签: objective-c binding xcode4.3 cocoa-bindings nstextfield