यह पूर्णांक अतिप्रवाह की बात, के रूप में बोरिस सही ढंग से है अपने जवाब में बताया।
मुझे नहीं पता कि आपकी time
ऑब्जेक्ट क्या है, लेकिन signed long int
के बजाय NSTimeInterval
का उपयोग करें।
आईओएस NSTimeInterval
पर वर्तमान में
typedef double NSTimeInterval;
के रूप में परिभाषित किया गया है, लेकिन आप उस के बारे में बहुत ज्यादा परवाह नहीं करनी चाहिए। टाइप समानार्थी के साथ चिपकने से ऐप्पल किसी अन्य चीज को अंतर्निहित परिभाषा को बदलने का फैसला करता है।
कहा है कि आप की तरह
NSTimeInterval epoch = [time doubleValue];
NSDate * date = [NSDate dateWithTimeIntervalSince1970:epoch];
कोड रख-रखाव मुद्दा मैंने पहले वर्णित के संबंध में यहां आप स्पष्ट रूप से एक doubleValue
(आप कई विकल्प नहीं है) का उपयोग कर रहे कुछ करने के लिए अपने कोड में परिवर्तन करना चाहिए,, लेकिन अच्छी बात यह है कि अगर ऐप्पल NSTimeInterval
को double
असाइनमेंट के साथ संगत नहीं करने की परिभाषा को बदलता है, तो संकलक आपको बताएगा।
स्रोत
2013-01-02 12:29:09
पढ़ा [यह] (https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/DataFormatting/Articles/dfDateFormatting10_4.html) और [यह] (http://stackoverflow.com/ प्रश्न/5739598/सेटिंग-डेट-फॉर्मेट-फॉर-एनएसडेटेटफॉर्मर) – tkanzakic