【发布时间】:2010-08-07 03:21:52
【问题描述】:
我正在深入研究 iOS 开发,我有几个关于操作我在 Xcode 中创建的简单核心数据对象的问题。使用对象编辑器后,这是 Xcode 为我生成的类...
@interface Alarm : NSManagedObject
{
}
@property (nonatomic, retain) NSNumber * Enabled;
@property (nonatomic, retain) NSString * Label;
@property (nonatomic, retain) NSNumber * Snooze;
@end
@implementation Alarm
@dynamic Enabled;
@dynamic Label;
@dynamic Snooze;
@end
这是一段代码,我尝试创建一个Alarm 对象,我打算将其添加到我的 ManagedObjectContext...
- (void)saveAlarm:(id)sender {
Alarm *alarm = [[Alarm alloc] init];
alarm.Label = [NSString stringWithString:txtLabel.text];
alarm.Snooze = [NSNumber numberWithBool:switchSnooze.on];
alarm.Enabled = [NSNumber numberWithBool:YES];
[addAlarmDelegate insertNewAlarm:alarm];
[alarm release];
}
当我第一次尝试将值分配给警报的一个属性时,我的代码崩溃了...
alarm.Label = [NSString stringWithString:txtLabel.text];
在控制台中显示以下崩溃消息...
reason: '-[Alarm setLabel:]: unrecognized selector sent to instance 0x5e33640
我在这里错过了什么?
非常感谢您的帮助!
【问题讨论】:
-
作为一般风格点,我会避免将您的属性大写...
-
xcode 在生成它们时将它们大写,而不是我
-
Xcode 将它们大写,因为我怀疑你的实体中有大写字母。你也应该避免这种情况。
-
嗨@BeachRunnerJoe 你开发了一个警报应用程序。因为我也在开发一个警报应用程序,但我不想使用本地通知,而是我想在我的警报响起时显示一个自定义页面。请帮助我解决我的问题。我一直坚持这个。请你能给我一些示例代码。