私はiOS 4.3 & iOS 5で自動参照カウントで作業しています。私は私のインターフェイスでNSDateオブジェクトを宣言します。NSDumberがNSNumberに変わるMYSTERY
NSDate *fingerprintsDate;
その後、私はNSDateという設定 - デバッガを使用し、それを介してステッピングは私が期待する価値があります。
fingerprintsDate = [NSDate date];
最後に、私がしよう日付から時間を取得:
if (fingerprintsDate == nil || [fingerprintsDate timeIntervalSinceNow] > 6)
そして、それが認識されていないセレクタでクラッシュところです:「2012-01-18 23:07:46.662 Netapporter [473:707] - [NSCFNumber timeIntervalSinceNow]:に送られ、認識されないセレクターインスタンス0x194490"
デバッガによれば、私の愛するNSDate読み取り: "fingerprintsDate =(NSCFNumber *)0x194490 139" - 私は説明を印刷するとき、それが読み取ります。 "{値= 139.0000000000、タイプ= kCFNumberFloat32Type}"
私はコード内の他の場所でfingerprintsDateを使って何もしていませんが、何とかNSNumerに変わっています...それを止める方法はありますか?
それをやっている(つまり、あなたの日付を書く)いくつかの他のコードが必要です。もう少しコードを投稿できますか? – dasblinkenlight
日付がゼロまたは6を超えるのはなぜチェックするのですか?これは私のためにチェックしてください:if([[myNum className] isEqualToString:@ "NSCFNumber"]){NSLog:(@ "は数字です)} – CodaFi
ここに表示されているコードに問題はありませんが、あなたが間違った場所(パラメータ)で "timeIntervalSinceNow"メソッドの戻り値を使用しようとしている可能性があります。実際には - (NSTimeInterval)timeIntervalSinceNow "浮動小数点値を返してください – kulss