我正在尝试在另一个视图中创建一个等于是的字符串。 我这样做了:
reset = @"Yes";
NSLog(@"resetString is %@", reset);
上面的NSLog等于是。
在我的第二个观点中,它应该检查它是否等于是并做某事。
ScoreViewController *svc = [[ScoreViewController alloc] init];
if ([svc.reset isEqualToString:@"Yes"])
{
selectedQuestion.questionCompleteOrNot = @"No";
NSLog(@"resetString is %@", svc.reset);
}
else
{
selectedQuestion.questionCompleteOrNot = @"Yes";
NSLog(@"resetString is %@", svc.reset);
}
上面的两个NSLog等于Null,当它们应该等于Yes时,它会对selectedQuestion.questionCompleteOrNot属性执行某些操作。
有人知道吗?
答案 0 :(得分:1)
这将创建ScoreViewController
类的新实例:
ScoreViewController *svc = [[ScoreViewController alloc] init];
我的猜测,您实际上并没有为您的媒体reset
设置默认值。因此,您可能需要在ScoreViewController
的{{1}}方法中执行以下操作:
init:
另外,如果您需要了解iOS开发的基础知识,我强烈推荐Ray Wenderlich的网站,该网站提供了大量高质量的教程:
祝你好运!修改强>
顺便说一句,如果- (id)init
{
self = [super init];
if (self)
{
_reset = @"Yes";
// set other default values here...
}
return self;
}
实际上是ScoreViewController
的子类,那么您可能正在使用错误的init方法......相反,您应该使用UIViewController
方法。这里是-(id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
文档的链接,这也应该有所帮助:
答案 1 :(得分:0)
检查是否在不同的代码块中分配值。 (一段代码=以{}开头和结尾) 如果在不同的块中实例化变量或赋值,则无效。