【问题标题】:Transient attribute not found in entity在实体中找不到瞬态属性
【发布时间】:2011-08-11 01:01:46
【问题描述】:

我正在尝试从我预先填充的 sqlite 数据库中获取属性(自动)的第一个字母。使用 coredata 从数据库中检索数据没有问题。但是当我尝试从我的瞬态属性中获取数据时,我收到以下错误消息:“NSFetchedResultsController ERROR: object { Autor = "\U00cdtalo Calvino"; } returned nil value for section name key path 'FirstLetter'。对象将被放置在未命名部分”...

我在我的实体 Cit 中创建了一个名为 FirstLetter 的瞬态属性。我也为实体定义了我的类。

Cit.h

@interface Cit : NSManagedObject {
@private
}
@property (nonatomic, retain) NSString * Autor;
@property (nonatomic, retain) NSString * FirstLetter;
- (NSString *) FirstLetter;
@end

Cit.m

#import "Cit.h"
@implementation Cit
@dynamic Autor;
@dynamic FirstLetter;

- (NSString *) FirstLetter {
    NSLog(@"doing");
    [self willAccessValueForKey:@"FirstLetter"];
    NSString * initial = [[self valueForKey:@"Autor"] substringToIndex:1];
    [self didAccessValueForKey:@"FirstLetter"];
    return initial;
}
@end

我无法让它工作。有没有人有解决方案???谢谢!

【问题讨论】:

    标签: core-data attributes transient


    【解决方案1】:

    我在模型类中做了类似的事情,但我没有费心在模型中创建瞬态对象。我刚刚在我的模型中添加了一个- (NSString *)sectionIndex 方法,它返回字符串的第一个字母,和你一样。

    所以,我会尝试从您的模型中删除瞬态属性,看看是否效果更好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-22
      • 2012-05-06
      • 2011-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-26
      相关资源
      最近更新 更多