首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iPhone MultiView应用程序发行

iPhone MultiView应用程序发行
EN

Stack Overflow用户
提问于 2011-07-14 23:04:18
回答 1查看 67关注 0票数 1

可能重复:

iPhone App Dev - Loading View From View Controller

我有一个带有工具栏的根视图控制器,其中有一个按钮。当根视图控制器加载时,我希望它在工具栏下面加载一个子视图:

代码语言:javascript
复制
//assigns JSON to question objects
-(void) setQuestions {
    questionArray = [[NSMutableArray alloc] init];
    for (NSDictionary *q in self.questions) {       
        /* Create our Question object and populate it */
        QuestionViewController *question = [[QuestionViewController alloc]init];        
        [question setQuestionId:[q objectForKey:@"questionId"] withTitle:[q objectForKey:@"question"] number:[q objectForKey:@"questionNumber"] section:[q objectForKey:@"sectionId"]];
        /* Add it to our question (mutable) array */
        [questionArray addObject:question];
        [question release];
    }
}

-(void) startQuestionnaire {
    currQ = [questionArray objectAtIndex:0];
    [self.view insertSubview:currQ.view atIndex:0]; 
    [currQ release];
}

我使用startQuestionnaire从questionArray加载视图控制器,其中包含一个加载的QuestionViewController objects...When,我单击加载的视图中的滑块,必须将控制交给子视图或其他什么的程序crashes...Do ?当我在startQuestionnaire中删除代码时,程序不会崩溃。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-15 02:32:35

虽然很难说没有看到其余的代码,但看起来您的问题就在实例化/引用对象的方法中。

如果我是你,为了简化事情,我会采取稍微不同的方法。

首先,试着使用“属性”和“合成”,并习惯于用“自我”来指象牙人。保留计数&内存管理问题通常是崩溃的原因,您可以通过更正式地使用ivars来清理问题。以下是一些阅读:http://www.optictheory.com/iphone-dev/2010/02/objective-c-primer-part-3-property-and-synthesize/

第二,在您准备好将其添加到根QuestionViewController (即根ViewController )之前,我将不创建它。在startQuestionnaire内部)。您可以使用自定义init函数将JSON数据传递到它。这样,您就可以确保周围没有其他QuestionViewController实例,这些实例可能会导致复杂的情况,并且在不使用它们时占用内存。

至于滑块问题本身,很难说没有看到实际的错误,但希望这会有所帮助。

祝你好运

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6700987

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档