0

我的應用程序使用ARC,我遇到了一些不使用它的第三方軟件的麻煩。 我可以通過在構建階段設置-fno-objc-arc來解決這個問題。但是,我留下了一個問題,其中一個ViewController崩潰了pp,因爲它被調用兩次。發佈ViewController

我會盡量解釋...

在我自己的TableView我選擇線,帶來城市飛艇的店面。據我所知,它以Modal窗口形式出現。 這是一個TableView,它直接指向我在TableView中選擇的項目的DetailView。我購買了該產品,並開始下載。 我有一個城市飛艇的代表,告訴我在我的TableView中,該物品安全地在電話中。我[self dismissModalViewControllerAnimated:YES]; UAStore在我自己的TableView中的委託的末尾,並返回我的TableView。
所有的工作都很好。

當我選擇購買新產品時會出現問題。 我得到通往UA DetailView的路,但是一旦我點擊「購買」按鈕,應用程序就會崩潰。

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Pushing the same view controller instance more than once is not supported (<UAProductDetailViewController: 0x3a35e0>)' 

對我來說,它看起來像UAProductDetailViewController沒有發佈。 Urban Airship的實施文件位於圖書館,因此無法進行調整。 我已經嘗試了很多不同的東西來離開這裏。

[[DataModel sharedModel] saveContext]; 
    [[self tableView] reloadData]; 

    // LessonListViewController *lessonListVC = [[LessonListViewController alloc] initWithNibName:@"LessonListView" bundle:nil]; 
    UserData *UserData_Array = [dm.UserData_Array objectAtIndex:0]; 
// lessonListVC.courseID = UserData_Array.current_levelName; 
// lessonListVC.lessonsArray = UserData_Array.current_level; 
    NSLog(@"Current level name:%@",UserData_Array.current_levelName); 
    NSLog(@"Lessons array:%@",UserData_Array.current_level); 

    // lessonListVC.navigationItem.hidesBackButton = YES; 

    // [self.navigationController popToViewController:lessonListVC animated:YES]; 
    // [UAProductDetailViewController removeFromParentViewController]; 
    self.tabBarController.tabBar.hidden = NO; 
    [self dismissModalViewControllerAnimated:YES]; 

但是到目前爲止沒有任何工作。 希望有人可以按照我有點混合描述和頭髮保存。

* *當我回到我自己的TableView時,UADetailViews的viewDidUnload中的NSLog調用不會被調用。

回答

0

這將是有益的,看看代碼塊,你解僱與模態視圖控制器:

[self dismissModalViewControllerAnimated:YES]; 

這看起來不正確我,因爲如果你在一個委託方法調用它實現中,「自我」會引用你的對象。如果您通過委託方法接收到對其視圖控制器的引用,請嘗試使用它來解除它。如果試圖從自己的視圖控制器駁回,而你運行iOS 5.0,你需要使用presentingViewController而非parentViewController被引用,例如:

[[self presentingViewController] dismissModalViewControllerAnimated:YES]; 
1

答案是由系統

reason: 'Pushing the same view controller instance more than once is not supported' 

您正在試圖推動同實例UAProductDetailViewController多次引發的異常。你應該創建一個新的實例並推動它。

+0

我該怎麼辦呢?要調用UAStoreFront,我使用此代碼; '[UAStoreFront displayStoreFront:self withProductID:levelA1_1.lessonVideofile animated:YES];' – Jorgen

+0

我不知道您的情況的具體情況,您是否使用故事板?你可以創建一個新的實例,如[[UAProductDetailViewController alloc] initWithNibName:@「YourNibName」]; – jbat100

+0

很想使用故事板,但需要保持應用程序ios4友好。至於你的建議,我不知道該把代碼放在哪裏。我也沒有NIB名字,因爲它是UA的NIB。我對此很困惑。 – Jorgen

相關問題