试图更改NSString的文本。不起作用

时间:2012-12-31 20:03:39

标签: objective-c xcode nsstring

我正在尝试在另一个视图中创建一个等于是的字符串。 我这样做了:

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属性执行某些操作。

有人知道吗?

2 个答案:

答案 0 :(得分:1)

这将创建ScoreViewController类的新实例:

 ScoreViewController *svc = [[ScoreViewController alloc] init];

我的猜测,您实际上并没有为您的媒体reset设置默认值。因此,您可能需要在ScoreViewController的{​​{1}}方法中执行以下操作:

init:

另外,如果您需要了解iOS开发的基础知识,我强烈推荐Ray Wenderlich的网站,该网站提供了大量高质量的教程:

http://www.raywenderlich.com/

祝你好运!

修改

顺便说一句,如果- (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文档的链接,这也应该有所帮助:

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIViewController_Class/Reference/Reference.html

答案 1 :(得分:0)

检查是否在不同的代码块中分配值。 (一段代码=以{}开头和结尾) 如果在不同的块中实例化变量或赋值,则无效。