0

コア データ エンティティの int16 属性がいくつかあり、デバッグ中にそれらを監視したい

しかし、私はいくつかの問題に遭遇しました。

まず、「order」と「total」という名前の属性を監視したいと思います。どちらも整数型 16です。

これがデバッグ用の私のコードです。

NSArray *expenseTypes = [self.managedObjectContext executeFetchRequest:request error:&error];
NSLog(@"expenseTypes: %d",[expenseTypes count]);
i = 1;
for (ExpenseType *one in expenseTypes)
    NSLog(@"..%d : %@ : %d",i++,[one name],[[one order] intValue]);

出力される値は、0、1、2、3 などの非常に一般的で小さな負でない整数であると想定されています。

しかし、デバッガーでは次のようになります。

ここに画像の説明を入力

この奇妙な名前 (2 つのコロンの間にある人) は忘れてください。

いくつかの数字は私が欲しいだけですが、他の数字はランダムに見えます。

これらの integer16 属性を設定するコードは次のとおりです。

NSUInteger all;
all = (NSUInteger)[self.superTypeEntity total];
[newManagedObject setValue:[NSNumber numberWithUnsignedInt:all]
                        forKey:@"order"];

問題はこれらのコードに関するものではないと思います。

integer 16 の属性は NSNumber のインスタンスなので、 ("%d",[xx intValue]) を使用します

何か問題がありますか?

XCode の一部の変数、特に一部のコア データを監視するのに常に苦労しています。以下の場所でそれらを検索する必要があり、すべての変数がポインターの形式で表示されるたびに、文字列かどうかを確認することはほとんどできません。整数は私が望むかどうかです。

ここに画像の説明を入力

私は IOS 開発のグリーンハンドなので、ばかげた質問で申し訳ありません。

でも誰かが助けに来てくれることを願っています!

どうもありがとうございました!

4

1 に答える 1

0

ねえ、自分でアンサーを見つけました。値を設定するコードで、重要なメソッドを見逃しています。

次のようになります。

all = (NSUInteger)[[self.superTypeEntity total] **intValue**];

このようにして、出力された値は問題ありません。

于 2012-01-16T04:44:49.947 に答える