当我尝试使用numberWithLongLong创建NSNumber时,如果数字大于-2且小于13,则返回一个被强制转换为(int)的数字。我在跳过该行后查看Xcode调试器时看到了这一点。
为了让问题更加清晰,我正在使用long long值作为纪元日期,最终将使用BSON进行序列化并通过网络发送到webservice。该webservice要求日期是Java Long类型。
感谢您的帮助。
为了让问题更加清晰,我正在使用long long值作为纪元日期,最终将使用BSON进行序列化并通过网络发送到webservice。该webservice要求日期是Java Long类型。
感谢您的帮助。
sizeof(int) == sizeof(long)
,它们都是32位的有符号整数吗?参见:https://dev59.com/QnI95IYBdhLWcg3w3yNU - Jeffery Thomas+numberWithLongLong:
返回一个带有"i"
objCType 的 NSNumber 对象? - Jeffery ThomasinitWithBytes:objCType:
,但与惯例相反,即使在NSNumber实例上调用时,它也会返回NSValue。 - Carl Veazey[number longLongValue]
并得到正确的值回来...为什么运行时节省几个字节会成为问题呢?这似乎是封装在起作用,我还不明白为什么不能信任它。 - cHao