0

Xcode内にBOOLを設定しようとしていますが、何らかの理由で動作を拒否しています。このブール値を設定しているのは他にありません。この1つのインスタンスだけです。私のコードは以下の通りです:

.h

@interface SuspectsViewController : UIViewController 
{
    BOOL boolContentChanged;
}

@property (nonatomic) BOOL boolContentChanged;

.m

@synthesize boolContentChanged;

-(IBAction)buttonPressed:(id)sender
{
    boolContentChanged = true;
}

また、self.boolContentChangedを使用してみましたが、何も起こりません。これをデバッグするために、poboolContentChangedを使用して次の出力を取得しました。最初のpoはboolContentChanged= trueの前で、2番目は後です。

(lldb) po boolContentChanged
(BOOL) $4 = '\0' <nil>
(lldb) po boolContentChanged
(BOOL) $7 = '\0' <nil>

$は、特定のアドレスを指していることを示していますか、それとも純粋にデバッグ参照用ですか?

また、これがゼロになる理由はありますか?確かに、それがブール値であり、ポインタではない場合は、暗黙的に設定する必要はありませんか?

私はそれを解決することができないので、これに関するどんなアドバイスも大いに感謝されます、上級者に感謝します、エリオット

4

3 に答える 3

0

私はついに何が起こっているのかを理解することができました。デバッガーに関しては、true / false とは対照的に YES / NO を使用して実際的な違いがありました。p を使用して明示的にそれらを見つけた場合、値はまだ設定されていましたが、YES / NO を使用すると自動的に表示されます。そのため、特定の状況で更新に失敗しているのはインテリセンスのようです。

助けてくれてありがとう。

于 2012-04-13T13:58:27.587 に答える
-2

BOOL を使用する場合は、true または false ではなく、YES または NO を使用する必要があります。

于 2012-04-10T10:46:53.690 に答える