我有一个 TextField,我正在尝试通过使用 KVC 运行我的代码来更新值。不幸的是,我似乎无法更新初始值。
我已经使用了启动代码的按钮上的绑定,我想更新的 TextField 只是不想更新。请原谅我的 n00bish 问题,但我整天都在网上搜索,浏览教程,以不同的方式重写代码,似乎无法弄清楚为什么这个非常简单的任务不起作用。
这是我的 KVC.h 文件:
#import <Foundation/Foundation.h>
@interface KVC : NSObject{
NSString *_progressString;
}
@property (nonatomic, retain) NSString *progressString;
@end
这是我的应用程序头文件:
#import <Cocoa/Cocoa.h>
#import "KVC.h"
//UI Controls
@interface AppDelegate : NSObject <NSApplicationDelegate>
{
NSWindow *window;
NSPersistentStoreCoordinator *__persistentStoreCoordinator;
NSManagedObjectModel *__managedObjectModel;
NSManagedObjectContext *__managedObjectContext;
NSButton *_loadingExtracts;
NSButton *_processStuff;
NSProgressIndicator *_progressBar;
KVC *myProgressString;
}
@property (assign) IBOutlet NSWindow *window;
@property (nonatomic, retain, readonly) NSPersistentStoreCoordinator *persistentStoreCoordinator;
@property (nonatomic, retain, readonly) NSManagedObjectModel *managedObjectModel;
@property (nonatomic, retain, readonly) NSManagedObjectContext *managedObjectContext;
@property (assign) IBOutlet NSButton *loadingExtracts;
@property (assign) IBOutlet NSButton *processStuff;
@property (assign) IBOutlet NSProgressIndicator *progressBar;
- (IBAction)saveAction:(id)sender;
- (IBAction)loadingExtracts:(id)sender;
- (IBAction)processStuff:(id)sender;
@end
最后,这是我无法更新的代码中的函数。
- (IBAction)processStuff:(id)sender
{
KVC *frickenHeck = [[KVC alloc] init];
NSLog(@"Button Pressed - Processing Information");
[myProgressString setValue:@"Testing" forKey:@"_progressString"];
[_progressBar setUsesThreadedAnimation:YES];
[_progressBar startAnimation:self];
//Turn off Progress Bar
[_progressBar stopAnimation:self];
[frickenHeck setValue:@"Completed" forKey:@"_progressString"];
//[_progressText setStringValue:@""];
}
(如您所见,我尝试更新 2 种不同的方式,但都不起作用。分配似乎可以很好地设置初始变量,日志显示我在方法中,只是无法让我的标签更新过去分配)。
任何想法或想法将不胜感激。