Я пытаюсь загрузить новый вид в существующий контроллер представления, но я хочу загрузить этот вид из xib-файла. Мой план состоял в том, чтобы создать второй viewController (viewController1 в коде ниже), а затем сохранить его представление и освободить этот viewController, который я только что создал. Я надеялся, что viewController будет выпущен, и представление будет придерживаться, но это, похоже, не происходит.Могу ли я сохранить вид, выпуская свой ViewController?
Вопрос 1: Если диспетчер просмотра получает освобожденный пароль, его связанное представление будет отменено независимо от того, какой счет сохраняется? В приведенном ниже примере кода вы можете видеть, что в представлении есть счет сохранения 13, прежде чем он внезапно исчезнет.
Вопрос 2: Почему сохранение вида увеличивает его сохранение на 3?
PageViewController *viewController1 = [[PageViewController alloc] initWithNibName:@"Page1" bundle:nil];
[viewController1.view setUserInteractionEnabled:YES];
NSLog (@"vc retain count: %d", [viewController1 retainCount]); //count=1
NSLog (@"vc view retain count: %d", [viewController1.view retainCount]); //count=4
self.currentPageView=viewController1.view;
NSLog (@"vc retain count: %d", [viewController1 retainCount]); //count=1
NSLog (@"vc view retain count: %d", [viewController1.view retainCount]); //count=7
[viewController1.view retain];
NSLog (@"vc retain count: %d", [viewController1 retainCount]); //count=1
NSLog (@"vc view retain count: %d", [viewController1.view retainCount]); //count=10
[self.view addSubview:viewController1.view];
NSLog (@"vc retain count: %d", [viewController1 retainCount]); //count=1
NSLog (@"vc view retain count: %d", [viewController1.view retainCount]); //count=13
[viewController1 release];
NSLog (@"vc view retain count: %d", [viewController1.view retainCount]);
//objc[3237]: FREED(id): message view sent to freed object=0x538ce0
Спасибо, я до сих пор не понял, почему счет за сохранение прыгает на 3 каждый раз, но я думаю, что это довольно грязно, что я просто попытаюсь реорганизовать вещи, чтобы полностью избежать проблемы. Хотелось бы, чтобы у меня хватило репутации, чтобы проголосовать за ответ Хикару ниже, также, это было полезно. – niels