我的核心数据显示在 NSTableView 中。我希望能够在用户单击添加时使用用户输入(NSTextFields)来填充下一行。
我目前的方法是尝试使用管理器对象从文本字段中收集字符串值,然后将其设为下一个核心数据添加的默认值。
出于某种原因,在我分配并初始化文本字段后,我无法使用该值(它在我的表中显示为空白)(不为空)。
你能给些建议么?先感谢您:
//this is my core data object
// ItemEntity.h
#import <Foundation/Foundation.h>
@interface ItemEntity : NSManagedObject{
}
-(NSString *) titleValue;
@end
// ItemEntity.m
#import "ItemEntity.h"
#import "MyManager.h"
@implementation ItemEntity
-(NSString *)titleValue{
MyManager *sharedManager = [MyManager sharedManager];
NSString *nam = [NSString stringWithFormat:@"%@", sharedManager.titleText]; //titleText from MyManager;
return nam;
}
@end
// MyManager.h
#import <Foundation/Foundation.h>
@interface MyManager : NSObject {
@private
IBOutlet NSTextField *titleLabel;
NSString *titleText;
}
@property (nonatomic, retain) NSString *titleText;
+ (id)sharedManager;
@end
// MyManager.m
#import "MyManager.h"
@implementation MyManager
@synthesize titleText;
+ (id)sharedManager {
static MyManager *sharedMyManager = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sharedMyManager = [[self alloc] init];
});
return sharedMyManager;
}
- (id)init {
if (self = [super init]) {
titleLabel = [[NSTextField alloc] init];
NSString *myString = [titleLabel stringValue];
titleText = [[NSString alloc] initWithFormat:@"default, %@", myString];
}
return self;
}
@end
titleLabel 链接到输入 NSTextField
titleText 是将字符串传递给 ItemEntity 的单例
titleValue 是核心数据中的模型键路径
谢谢!