ओके टीम में अजीब तरीके से व्यवहार कर रहा है, यह अजीब है। [NSDecimalNumber integerValue] अजीब व्यवहार कर रहा है।{NSDecimalNumber integerValue} आईओएस 8
मैं एक ब्रेकपॉइंट पर बैठा हूं, यह पता लगाने की कोशिश कर रहा हूं कि मेरे ऐप के कुछ हिस्सों को आईओएस 8 में क्यों टूटा गया है, और मैं "टाइमसेकंड" नामक एक चर को देख रहा हूं। यह Xcode चर में इस तरह दिखाई देता है देखें:
_timeSeconds (NSDecimalNumber *) 344.514533996581994496
लेकिन जब मैं डीबगर में क्वेरी, मैं इस देखें:
(lldb) p [self.timeSeconds doubleValue]
(double) $14 = 344.51453399658192
(lldb) p [self.timeSeconds intValue]
(int) $15 = 344
(lldb) p [self.timeSeconds integerValue]
(NSInteger) $16 = -5
(lldb) p (NSInteger)[self.timeSeconds intValue]
(NSInteger) $17 = 344
कि "-5" देखते हैं? क्या आप में से कोई भी सुंदर लोग पुनरुत्पादन या व्याख्या कर सकता है, इससे पहले कि मैं रडार दर्ज करूं?
NSDecimalNumber *n = [NSDecimalNumber decimalNumberWithString:@"344.514533996581994496"];
NSLog(@"%@", n); // 344.514533996581994496
NSLog(@"%ld", (long)[n intValue]); // 344
NSLog(@"%ld", (long)[n integerValue]); // -5
NSLog(@"%ld", (long)[n unsignedIntegerValue]); // 12
अग्रिम धन्यवाद:
यहाँ SSCCE है!
मैथ्यू
मैथ्यू - आपको क्या मिला? आईओएस 8 पर NSDecimalNumber मेरे लाइव ऐप में बड़ी समस्याएं पैदा कर रहा है! – SAHM