NSMutableDictionary не сохраняет значения - PullRequest
2 голосов
/ 09 декабря 2010

Я частично новичок в Objective-c и запутался, почему мой NSMutableDictionary не хранит информацию.Я объявляю свою переменную в заголовочном файле:

@interface view_searchResults : UIViewController <UITableViewDataSource, UITableViewDelegate> {
    NSMutableDictionary *imageDicationary;
}

@property (nonatomic, retain) NSMutableDictionary *imageDictionary;

Затем в моем файле .m есть следующее:

@synthesize imageDictionary;

-(UIImage *)getImageForURL:(NSURL*)url {

    UIImage*image;
    image = [UIImage imageWithData:[NSData dataWithContentsOfURL:url]];
    [imageDictionary setObject:image forKey:@"test"];

    if([imageDictionary objectForKey:@"test"]){

        NSLog(@"Exists");

    }

}

Очевидно, есть другой код для поддержки этого, ноЯ могу подтвердить, что URL передается, и файл загружается правильно в другом месте.Кроме того, я могу подтвердить, что эта функция выполняется, и я не обращаюсь к NSMutableDictionary где-либо еще в документе.

Спасибо!

Ответы [ 3 ]

5 голосов
/ 09 декабря 2010

Где вы создаете свой словарь NSMutable? Если это действительно весь код, который вам нужен, для создания словаря:

@implementation view_searchResults 
- (id) init;{
    self = [super init];
    if(self) {
        imageDicationary = [NSMutableDictionary alloc] init];    // should also be released in dealloc.
    }
    return self;
}

Если это ошибка, то причина, по которой вы не вызываете сбой, заключается в том, что в target-C допустимо отправить сообщение объекту nil - он просто ничего не делает.

1 голос
/ 09 декабря 2010

Вы не сообщили нам, выполняется ли NSLog "Exists", вы также НЕ возвращаете изображение.

Другими словами, я не вижу твоей проблемы

0 голосов
/ 09 декабря 2010

Была ли imageDictionary инициализирована?(Alloc / инициализации?)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...