Я использую setObject: forKey: добавить объект типа Rresource в NSMutableDictionary с именем: resourceLib.Запись NSMutableDictionary повреждена после отклонения от метода, в котором была добавлена запись
Затем я сразу же посмотрю, что на самом деле находится в словаре, и все в порядке.
Когда я пытаюсь смотреть на него снова в методе другого объекта, правильный ключ присутствует, но ссылка на свойства строки «URL» случаи список сообщений об ошибках, в том числе:
2016-09-28 11 : 32: 42.636 Testa [760: 16697] - [__ NSCFString URL]: непризнанные селектор направлен например 0x600000456350
Rresource объекта определяется как:
@interface Rresource : NSObject
@property (nonatomic,strong) NSString* url;
@property (nonatomic,strong)NSMutableArray* resourceNotesArray;
@property(nonatomic,strong)NSString* name;
@property(nonatomic,strong)NSString* resourceUniqueID;
@property(nonatomic)BOOL isResourceDirty;
Этот метод в ViewController добавляет Rresource к NSMutableDictionary
-(void)saveResource
{
Rresource* resource = self.currentResource;
Rresource* temp;
if (resource)
{
if (resource.isResourceDirty)
{
[self.model.resourceLib setObject:resource forKey:resource.resourceUniqueID];
temp = [self.model.resourceLib objectForKey:resource.resourceUniqueID];
}
}
}
ресурсы и температуры содержат одинаковую информацию, показывающую информацию правильно добавили.
В способе модели следующее сообщение об ошибке, описанное выше.
for (Rresource* resource in self.resourceLib)
{
NSString* string = resource.url;
}
где модель содержит:
@property(nonatomic,strong)NSMutableDictionary* resourceLib;
и:
@implementation Model
- (instancetype)init
{
self = [super init];
if (self)
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
self.path = [[paths objectAtIndex:0] stringByAppendingString:@"/Application Support/E2"];
BOOL exists = [[NSFileManager defaultManager] createDirectoryAtPath:self.path withIntermediateDirectories:NO attributes:nil error:nil];
if (!exists)
{
[[NSFileManager defaultManager] createDirectoryAtPath:self.path withIntermediateDirectories:NO attributes:nil error:nil];
}
self.resourceLibPath = [NSString pathWithComponents:@[self.path,@"resources"]];
self.resourceLib = [[NSMutableDictionary alloc]init];
self.noteLibPath = [NSString pathWithComponents:@[self.path, @"notes"]];
self.noteLib = [[NSMutableDictionary alloc]init];
}
return self;
Я нашел этот вопрос трудно четко задавать даже после нескольких часов ее сформулировать. Я извиняюсь.
Я пробовал почти все около недели. Я в тупике.
Любые идеи?
Благодаря
Это он! Большое спасибо! –