gpt4 book ai didi

ios - 当我在标签栏 iOS 6.0 中打开新标签时,我的应用程序崩溃了吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:29:52 25 4
gpt4 key购买 nike

我正在创建一个新闻应用程序,因为我主要有 2 个 UIViewcontroller:

  1. 突发新闻
  2. 首页

突发新闻显示带有平铺图像和一些描述的最新消息。在主页中,我可以选择我想要的新闻类型,例如体育、政治等。因此每次它都会在主页中显示该类型的新闻。

我的问题是

当我打开应用程序时,我可以看到突发新闻,我点击了一个新闻项目,它会在新的 UIViewController 中打开,其中包含与该新闻相关的所有图像和描述。

如果我从该描述页面单击下一个标签栏按钮,它将打开主页 UIViewController 并崩溃。有时我可以看到 Home UIViewController,当我打开新闻时它崩溃了。

如果我点击后退按钮,我将到达突发新闻页面,然后它不会崩溃。

但此问题仅出现在 iOS 6.0+ 版本中。我尝试在 iOS 5.1 设备上运行相同的应用程序,它工作正常。

崩溃日志

 -[DescriptionPageViewController respondsToSelector:]: message sent to deallocated instance 0x1f59a370`

enter image description here enter image description here

更新 刚才我尝试再次在 ipad 6.1 模拟器中使用断点运行相同的用例,但它在那里工作正常并且在没有断点设备的情况下崩溃***为什么????

Appdelegate 代码

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
if (![[NSUserDefaults standardUserDefaults] boolForKey:@"everLaunched"]==YES) {
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"everLaunched"];
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"firstLaunch"];
[[NSUserDefaults standardUserDefaults] synchronize];



[self loadingControllers];
}


return YES;

}
-(void)loadingControllers{


BreakingNewsViewController *breaking = [[BreakingNewsViewController alloc] initWithNibName:@"BreakingNewsViewController" bundle:nil];
UIViewController *home = [[homepage alloc] initWithNibName:@"homepage" bundle:nil];



UINavigationController*viewController1 = [[UINavigationController alloc] initWithRootViewController:breaking];
UINavigationController *viewController2 = [[UINavigationController alloc] initWithRootViewController:home];


viewController1.navigationBarHidden = YES;
viewController2.navigationBarHidden = YES;


self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.tabBar.backgroundImage = [UIImage imageNamed:@"Tabbar_bg.png"];
// self.tabBarController.tabBar.tintColor=[UIColor darkGrayColor];
self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1,
viewController2
,nil];

self.window.rootViewController = self.tabBarController;
[self.window makeKeyAndVisible];
[self.tabBarController setDelegate:self];




}

最佳答案

您正在 BreakingNewsViewController 中分配/初始化 DescriptionPageViewController

请为具有强属性的 DescriptionPageViewController 对象创建属性。

 // In BreakingNewsViewController.h

@property (strong, nonatomic) DescriptionPageViewController *descriptionPageViewController;

// In BreakingNewsViewController.m

self.descriptionPageViewController = [[DescriptionPageViewController alloc]initWithNibName:@"DescriptionPageViewController "];

关于ios - 当我在标签栏 iOS 6.0 中打开新标签时,我的应用程序崩溃了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18627753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com