У меня есть класс со следующим набором:проблема управления IOS память со свойствами
#import <UIKit/UIKit.h>
#import "AppDelegate.h"
@interface MyViewController : UIViewController
{
NSMutableDictionary *details;
}
@property (nonatomic,retain) NSMutableDictionary *details;
Я удалил все ненужные детали для этого вопроса. В файле реализации я включил @synthesize details;
Я переадресация на эту точку зрения с другой точкой зрения, и в этом классе я получаю локальный словарь:
NSMutableDictionary *getData = [responsestring JSONValue];
и я устанавливаю его в изменяемый словарь в этом классе, и я попытался двумя способами. Оба из которых приведены ниже:
objMyVc.details = [[NSMutableDictionary alloc] initWithDictionary:getData];
objMyVc.details = [getData retain];
После того, как я нахожусь в MyViewController, детали значение всегда нуль. Почему это так? Не следует ли сохранить значение в этом случае?
[EDIT]
Я могу подтвердить, что getData
не равно нулю, потому что у меня есть следующие проверки:
if ([getData valueForKey:@"VALUE"]) {
}
Это в if
заявление, что я пытаюсь присвоить значение в словарь данных и переадресацию на него ViewController
. Я также попытался скопировать, как показано ниже:
objMyVc.details = getData;
Да, он будет сохранен. Более того - у вас будет утечка, так как ваше свойство помечено как сохранение, и вы вызываете дополнительное выделение или сохранение. Что-то неверно в другом месте. Как вы проверили его для null? – beryllium