【发布时间】:2010-10-10 03:33:43
【问题描述】:
我对 iPhone 开发者的整个世界还很陌生,所以如果这很简单,请原谅我。我有一个对象Card,上面有6 个Question 对象。当我说[card getQuestion:@"Art"] 时,我目前正在返回一个Question 对象,就像这样
- (Question*) getQuestion: (NSString*) questionType {
Question *q = [questions objectForKey:questionType];
return [q autorelease];
}
Question 的属性为text(NSString 类型),它允许我查看问题的文本是什么。所以我想用这个文本来更新viewController中的一个UILabel
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
NSLog(@"%@", [[self.card getQuestion:@"Art"] qText]);
self.myQuestion.text = [[self.card getQuestion:@"Art"] qText];
}
这会使 iPhone 崩溃,而如果我将对象 Card 中的函数更改为此
- (NSString*) getQuestion: (NSString*) questionType {
return [[questions objectForKey:questionType] qText];
}
我在 viewController 中调用
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
NSLog(@"%@", [self.card getQuestion:@"Art"]);
self.myQuestion.text = [self.card getQuestion:@"Art"];
}
这很好用.. 任何人都可以解释我做错了什么,在这两种情况下,对 NSLog 的调用都会返回相关文本。在这两种情况下,显示器都会加载,但在第一种情况下它会在不久之后崩溃,而在另一种情况下它会保持稳定。
任何帮助表示赞赏。
【问题讨论】:
-
如果有人回答了你的问题,你应该接受它。
-
更正:如果有人用对您有帮助的解决方案回答了您的问题,您应该通过单击旁边的✔来接受它答案,将奖励作者。
-
@Emil 正确的答案并不总是有用的答案。
-
@Dave 我想你明白了。
标签: iphone objective-c