我在我的应用程序中使用了几个UIStoryboard,但我发现当我更改故事板时,旧的没有发布,如何发布旧的?以下是代码:
if([ModuleTeacher isEqualToString:type]){
[self loginStateChanged];
if([TeacherProfile getCurrentTeacher]!=nil){
[self startPull];
}
}else if([ModuleStudent isEqualToString:type]){
UIStoryboard *main = [UIStoryboard storyboardWithName:@"StudentMain" bundle:nil];
self.window.rootViewController = [main instantiateInitialViewController];
if([StudentProfile getCurrent]!=nil){
[self startPull];
}
}else if([ModuleOrgnization isEqualToString:type]){
UIStoryboard *main = [UIStoryboard storyboardWithName:@"OrganizeMain" bundle:nil];
self.window.rootViewController = [main instantiateInitialViewController];
[AppCache setModule:type];
}
这样旧的故事板将永远不会发布。
答案 0 :(得分:0)
使用ARC。
如果您对不再需要的故事板有任何强烈的引用,请将它们设置为nil。
没有第3步。
ARC将确保您发布不再需要的任何引用。确保在不需要时清除强引用,让ARC做正确的事。如果您的代码不负责保留故事板,则您不负责发布任何内容。 Cocoa Touch框架可能由于其自身原因挂在故事板上 - 这不是你的问题。