0

事前に入力された sqlite データベースから属性 (autor) の最初の文字を取得しようとしています。coredata を使用してデータベースからデータを取得するのに問題はありません。しかし、一時的なプロパティからデータを取得しようとすると、次のエラー メッセージが表示されます。名前のないセクション」...

FirstLetter という一時属性を作成し、エンティティ Cit 内に作成しました。エンティティのクラスも定義しています。

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

私はそれを働かせることができません。誰かがそれに対する解決策を持っていますか??? ありがとう!

4

1 に答える 1

0

私は自分のモデル クラスで同様のことを行いましたが、モデル内に一時的なオブジェクトをわざわざ作成しませんでした。- (NSString *)sectionIndexあなたと同じように、文字列の最初の文字を返すメソッドをモデルに追加しました。

したがって、モデルから一時的な属性を削除して、それがうまく機能するかどうかを確認します。

于 2011-04-25T15:45:05.323 に答える