0

nsinteger 値を配列に追加しようとすると、警告が表示されます。

'NSInteger *' (別名 'int *') をタイプ 'NSInteger' (別名 'int') のパラメーターに送信する整数変換への互換性のないポインター。* による逆参照

コードに到達するとクラッシュしました

[sizary1 addObject:[NSNumber numberWithInteger:Quant.quantity]];

として宣言された量

 @property (nonatomic) NSInteger * quantity;

どのような変更を加える必要がありますか?

4

4 に答える 4

1

* は必要ありません NSInteger .Use

@property (nonatomic) NSInteger  quantity;

クラッシュ

[NSNumber numberWithInteger:Quant.quantity]];

numberWithInteger:ポインター参照ではなく値を期待するため、クラッシュします。

なし*でプロパティを作成すると、正常に機能します

于 2013-05-23T05:25:06.097 に答える
0

1)この場合はquantityポインタとして使用しているためNSInteger、この場合はポインタを許可しません。

2) quantityNSInteger を受け取る numberWithInteger: に渡します。setObject: とは関係ありません。quantityおそらく、量を setObject: に直接コピーするか、単に渡したいと思うでしょう。

于 2013-05-23T05:25:28.927 に答える
0

へのポインタを宣言していますNSInteger。それへのポインタではなくNSNumber、それ自体が必要です。NSInteger私はあなたの財産を

@property (nonatomic) NSInteger quantity;
于 2013-05-23T05:26:01.450 に答える