内容简介:我已经尝试过提出类似问题的解决方案,但没有运气.获取请求无法找到实体名称“GarmentType”.这是我的数据模型:在此帮助程序类别的executeFetchRequest中抛出错误:
我已经尝试过提出类似问题的解决方案,但没有运气.获取请求无法找到实体名称“GarmentType”.
这是我的数据模型:
在此帮助程序类别的executeFetchRequest中抛出错误:
//
// GarmentType+Create.m
// Dressy
//
// Created by Michael Mangold on 9/4/13.
// Copyright (c) 2013 Michael Mangold. All rights reserved.
//
#import "GarmentType+Create.h"
@implementation GarmentType (Create)
// Creates or fetches a Core Data GarmentType entity.
+ (GarmentType *)garmentTypeWithName:(NSString *)name inManagedObjectContext:(NSManagedObjectContext *)context
{
NSLog(@"name:%@ context:%@",name,context);
GarmentType *garmentType = nil;
// Build fetch request.
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"GarmentType"];
request.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"name" ascending:YES]];
request.predicate = [NSPredicate predicateWithFormat:@"name = %@",name];
// Execute fetch requesst.
NSError *error = nil;
NSArray *matches = [context executeFetchRequest:request error:&error]; // This is where it dies.
if (!matches || [matches count] > 1) {
NSLog(@"Error creating GarmentType.");
} else if ([matches count] == 0) {
garmentType = [NSEntityDescription insertNewObjectForEntityForName:@"GarmentType" inManagedObjectContext:context];
garmentType.name = name;
} else {
garmentType = [matches lastObject];
}
return garmentType;
}
@end
名称记录正确的名称,上下文不为零.
当按下“完成”按钮时,从UITableViewController IBAction调用助手:
- (IBAction)handleDoneButton:(UIBarButtonItem *)sender
{
// Add garment type to core data.
[DressyHelper openDocumentUsingBlock:^(UIManagedDocument *document){
GarmentType *newGarment = [GarmentType garmentTypeWithName:self.garmentTypeNameTextField.text inManagedObjectContext:document.managedObjectContext];
NSLog(@"newGarment.name:%@",newGarment.name);
}];
[self dismissViewControllerAnimated:YES completion:nil];
}
newGarment.name记录正常.
这是GarmentType的.h:
#import <Foundation/Foundation.h> #import <CoreData/CoreData.h> @class Garment; @interface GarmentType : NSManagedObject @property (nonatomic, retain) NSString * name; @property (nonatomic, retain) NSSet *garments; @end @interface GarmentType (CoreDataGeneratedAccessors) - (void)addGarmentsObject:(Garment *)value; - (void)removeGarmentsObject:(Garment *)value; - (void)addGarments:(NSSet *)values; - (void)removeGarments:(NSSet *)values; @end
为代码转储道歉,但我一直在努力解决这个问题.更改实体名称会导致相同的错误,只是将新名称作为未找到的实体.
GarmentType检查员:
例外:
2013-12-10 13:51:50.320 Dressy[4336:70b] name:asdf context:<NSManagedObjectContext: 0x8ad86f0>
2013-12-10 13:51:50.323 Dressy[4336:70b] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'NSFetchRequest could not locate an NSEntityDescription for entity name 'GarmentType''
*** First throw call stack:
(
0 CoreFoundation 0x017465e4 __exceptionPreprocess + 180
1 libobjc.A.dylib 0x014c98b6 objc_exception_throw + 44
2 CoreData 0x019b4b6e -[NSFetchRequest(_NSInternalMethods) _resolveEntityWithContext:] + 510
3 CoreData 0x019b34d6 -[NSManagedObjectContext executeFetchRequest:error:] + 70
4 Dressy 0x000051de +[GarmentType(Create) garmentTypeWithName:inManagedObjectContext:] + 510
5 Dressy 0x00002170 __54-[GarmentTypeAddTableViewController handleDoneButton:]_block_invoke + 208
6 Dressy 0x00006d51 __39+[DressyHelper openDocumentUsingBlock:]_block_invoke21 + 97
7 UIKit 0x00781f7b __59-[UIDocument saveToURL:forSaveOperation:completionHandler:]_block_invoke570 + 54
8 libdispatch.dylib 0x01e43440 _dispatch_barrier_sync_f_slow_invoke + 71
9 libdispatch.dylib 0x01e544b0 _dispatch_client_callout + 14
10 libdispatch.dylib 0x01e4275e _dispatch_main_queue_callback_4CF + 340
11 CoreFoundation 0x017aba5e __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 14
12 CoreFoundation 0x016ec6bb __CFRunLoopRun + 1963
13 CoreFoundation 0x016ebac3 CFRunLoopRunSpecific + 467
14 CoreFoundation 0x016eb8db CFRunLoopRunInMode + 123
15 GraphicsServices 0x03a4d9e2 GSEventRunModal + 192
16 GraphicsServices 0x03a4d809 GSEventRun + 104
17 UIKit 0x00237d3b UIApplicationMain + 1225
18 Dressy 0x0000585d main + 141
19 libdyld.dylib 0x020e670d start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)
TIA
以上所述就是小编给大家介绍的《ios – NSFetchRequest找不到实体名称的NSEntityDescription》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- EF架构~FluentValidation实体检验与实体分离了
- 表单 – 如何使用实体列表(CRUD)从模板中删除实体?
- MyBatis Generator配置文件--指定生成实体类使用实际的表列名作为实体类的属性名
- 命名实体识别技术
- XML实体扩展攻击
- [DeepNLP] 初识命名实体识别
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Text Algorithms
Maxime Crochemore、Wojciech Rytter / Oxford University Press / 1994
This much-needed book on the design of algorithms and data structures for text processing emphasizes both theoretical foundations and practical applications. It is intended to serve both as a textbook......一起来看看 《Text Algorithms》 这本书的介绍吧!