0

.m ファイルのボタン クリック イベントからコピーしたコードを使用して、以下に示すカスタム関数を作成しました。私のdisplayDev関数にコピーするまで、コードはうまくいきました。このコードの最後の 3 行で、「宣言されていない識別子の使用」エラーが表示されます。fullVerseLabel.text、VerseField.text、および InterpretationField.text がすべて宣言されていない識別子として表示される理由を理解するのに誰か助けてもらえますか? また、以下は、これらの UI フィールドを宣言した .h コードです。

あなたが提供できるどんな助けも大歓迎です。本当にありがとう!

void displayDev (NSInteger dayNum)
{   NSString *plistFile = [[NSBundle mainBundle] pathForResource:@"Property List" ofType:@"plist"];
    NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:plistFile];

    NSString *bookString = [[dict objectForKey:[NSString stringWithFormat:@"Day %d", dayNum]] objectForKey:@"Book"];
    NSString *chapterString = [[dict objectForKey:[NSString stringWithFormat:@"Day %d", dayNum]] objectForKey:@"Chapter#"];
    NSString *verseString = [[dict objectForKey:[NSString stringWithFormat:@"Day %d", dayNum]] objectForKey:@"Verse#"];

    NSString *fullVerseString = [bookString stringByAppendingString:@" "];
    fullVerseString = [fullVerseString stringByAppendingString:chapterString];
    fullVerseString = [fullVerseString stringByAppendingString:@":"];
    fullVerseString = [fullVerseString stringByAppendingString:verseString];
    fullVerseLabel.text = fullVerseString;
    VerseField.text = [dict objectForKey:[NSString stringWithFormat:@"Day %d", dayNum]objectForKey:@"Verse"];
    InterpretationField.text = [dict objectForKey:[NSString stringWithFormat:@"Day %d", dayNum] objectForKey:@"Interpretation"];

    currentlyViewing = dayNum;
}

変数を .h ファイルで宣言し、ストーリーボードにリンクしています。

@interface FirstViewController : UIViewController
{   IBOutlet UILabel *fullVerseLabel;
    IBOutlet UITextView *VerseField;
    IBOutlet UITextView *InterpretationField;
    IBOutlet UITextField *TextField;
}
4

1 に答える 1

1

このメソッドは次のように開始しました。

void displayDev (NSInteger dayNum)

その構文では、実際にはこれをObjective-CではなくC関数として宣言しています。C関数でアウトレットまたは他のインスタンス変数にアクセスすることはできません。最初の行を次のように変更することで、Objective-Cインスタンスメソッドに変更できます。

- (void)displayDev:(NSInteger)dayNum
于 2012-06-25T18:54:08.033 に答える