KVCを使用してコードを実行する過程で値を更新しようとしているTextFieldがあります。残念ながら、初期値を超えて更新するものを取得できないようです。
コードを起動するボタンのバインディング、更新したいTextFieldを使用しましたが、更新したくないだけです。n00bishの質問をお許しください。しかし、私は1日中オンラインで検索し、チュートリアルを実行し、コードをさまざまな方法で書き直しており、この非常に単純なタスクが機能しない理由を理解できないようです。
これが私の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つの異なる方法で更新を試みましたが、どちらも機能しません。割り当てによって初期変数が適切に設定されているようです。ログには、メソッド内にいることが示されています。ラベルを更新できません。割り当て)。
任意の考えやアイデアをいただければ幸いです。