SOAP 应用程序变量 - 整数的 NSNumber 或 NSString?
Posted
技术标签:
【中文标题】SOAP 应用程序变量 - 整数的 NSNumber 或 NSString?【英文标题】:SOAP app variables - NSNumber or NSString for integer? 【发布时间】:2010-04-16 09:54:36 【问题描述】:在 SOAP 应用程序中,与服务器的所有通信都是以文本形式进行的,当服务器需要一个整数时,它是发送的文本值,返回的整数作为文本返回。
要让应用程序使用整数,必须将返回的字符串转换为数字,例如NSInteger 但是然后,例如,将它们保存到一个数组中,它们必须是对象(NSNumber),但是每当需要数值时,你必须提取它,所以最好将所有基于数字的变量保留为 NSStrings 并且只提取数字是否需要价值?
基本上我的问题是,在一个肥皂应用程序中,将所有变量都作为 NSStrings 不是更简单吗?由于它们在使用方面类似于 NSNumber 对象,并且将所有数字保留为字符串,因此至少可以避免在涉及服务器通信时来回转换。
【问题讨论】:
【参考方案1】:与NSString
相比,在NSNumber
中存储整数的开销可能会更低(无论看起来多么小)。根据字符编码,一个字符串每个字形可以是多个字节,然后您需要在字符串末尾有一个空字符来终止它。
解析器必须完成所有这些工作才能在一天结束时将字符串转回整数,例如当您不可避免地需要对这些值进行算术运算时。
此外,使用NSNumber
将使您更清楚地知道您正在处理的 SOAP 请求或响应中的原始数据类型,不仅是在您编写应用程序时,而且当您在几个月后回到它时你需要做出改变。
【讨论】:
我认为是这样的,所以本质上使用数据类型的变量比只使用字符串更好,对吗?以上是关于SOAP 应用程序变量 - 整数的 NSNumber 或 NSString?的主要内容,如果未能解决你的问题,请参考以下文章