1

numBooksと呼ばれるint16型の値を属性として持つBookデータエンティティがあります。すべての設定方法が原因で、実際にはtitleForRow内で必要な数値を取得し、その値をNSNumber型のグローバル変数に保存しています。

titleForRowでは、次のようにグローバルを設定しています。

global = book.numBooks; 

このように設定された後でグローバル変数をNSLogすると、適切な数値(50によって異なります)がコンソールに返されます。しかし、book.numBooksをコンソールに印刷するだけの場合、値はまったく異なり、100499556になります。

ここで問題となるのは、グローバル変数をnumberOfRowsInComponentに戻し、特定のコンポーネントの行数として使用する場合、その数に終わりがないように見えることです。スクロールしてスクロールできますが、明らかに正しく機能していません。

uiPickerView numberOfRowsInComponentはintのみを必要としますか?基本的に、私が渡している値は100499556だと思っているのでしょうか。

助けてください、ありがとう!

4

1 に答える 1

0

試す

[book.numBooks intValue];

NSNumber*book.numBooksのポインター値が表示されている可能性があります。

于 2010-11-13T21:34:35.563 に答える