3

ここで運が良ければ、私は少しアウトです。誰かが私を正しい方向に向けることができるかもしれません。MagicalRecord の importFromObject メソッドを機能させようとしています。私が持っているのはこれです:

  • iOS SDK 5.1
  • 基本的な XCode iPhone プロジェクトのセットアップ (空のアプリケーション、コアデータなし、ARQ)
  • プロジェクトに手動で追加された CoreData フレームワーク
  • 1 つのエンティティを含むコアデータ データ モデルを追加
  • エンティティには属性「タイトル」があります

Prefix.pch には以下が含まれます。

#define MR_SHORTHAND
#import "CoreData+MagicalRecord.h"

このコードはクラッシュします:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {


    [MagicalRecord setupCoreDataStack]; 
    [Product importFromObject:[NSDictionary dictionaryWithObject:@"test" forKey:@"title"]]; // Crashes here with EXC_BAD_ACCESS

    ....
}

このメソッドの NSManagedObject+MagicalRecord.m でクラッシュします。

+ (NSArray *) MR_executeFetchRequest:(NSFetchRequest *)request inContext:(NSManagedObjectContext *)context
{
    __block NSArray *results = nil;
    [context performBlockAndWait:^{    

        NSError *error = nil;    

        results = [context executeFetchRequest:request error:&error]; // Crashes here with EXC_BAD_ACCESS

        if (results == nil) 
        {
            [MagicalRecord handleErrors:error];
        }    

    }];
    return results; 
}
4

1 に答える 1

2

モデルに属性 "productID" (エンティティ名 + ID) (タイプ String) を追加していないため、この種のクラッシュが発生する可能性があります。

productID 属性を追加したくない場合は、エンティティのユーザー情報にキー relatedByAttribute (値: エンティティのプライマリ属性) を追加して参照することもできます。

于 2014-03-13T16:14:21.970 に答える