-4

別のビューの文字列をはいにしようとしています。これは私がしました:

reset = @"Yes";
NSLog(@"resetString is %@", reset);

上記の NSLog は Yes です。

そして、私の 2 番目の見解では、それが yes に等しいかどうかを確認し、何かを行うことになっています。

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);
    }

上記の 2 つの NSLog は Null に等しいのですが、Yes に等しいはずなので、selectedQuestion.questionCompleteOrNot プロパティに対して何らかの処理を行います。

誰でも知っていますか?

4

2 に答える 2

1

ScoreViewControllerこれにより、クラスの新しいインスタンスが作成されます。

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

私の推測では、実際にはプロパティのデフォルト値を設定していませんreset。したがって、ScoreViewControllerinit:メソッド内で次のようなことを行う必要がある可能性があります。

- (id)init
{
    self = [super init];
    if (self)
    {
        _reset = @"Yes";
       // set other default values here...
    }
    return self;
}

また、iOS 開発の基本をブラッシュアップする必要がある場合は、高品質のチュートリアルがたくさんある Ray Wenderlich のサイトを強くお勧めします。

http://www.raywenderlich.com/

幸運を!

編集

ちなみに、ScoreViewControllerが実際に のサブクラスである場合はUIViewController、間違った init メソッドを使用している可能性があります...代わりに、メソッドを使用している可能性があります...ドキュメント-(id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNilへのリンクUIViewControllerも役立ちます。

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

于 2012-12-31T20:11:57.840 に答える
0

別のコード ブロックで値を割り当てているかどうかを確認します。(コードのブロック = {} で始まり {} で終わる) 変数をインスタンス化するか、別のブロックで値を割り当てると、機能しません。

于 2012-12-31T21:10:37.003 に答える