SOAP应用程序变量 - 整数的NSNumber或NSString?

时间:2010-04-16 09:54:37

标签: iphone soap variables nsstring nsnumber

在SOAP应用程序中,与服务器的所有通信都是文本,当服务器需要一个整数时,它是发送的文本值,返回的整数将作为文本发回。

要让应用程序使用整数,必须将返回的字符串转换为数字,例如例如,NSInteger将它们保存到数组中它们必须是对象(NSNumber)但是每当需要数值时你必须提取它,所以最好将所有基于数字的变量保留为NSStrings&如果需要,只提取数值?

基本上我的问题是,在肥皂应用程序中,将所有变量都作为NSStrings变得不简单?因为它们在使用方面类似于NSNumber对象,并且将所有数字保留为字符串,所以至少节省了必须转换回来的权利。无论何时涉及服务器通信。

1 个答案:

答案 0 :(得分:0)

NSNumber相比,NSString中整数的存储可能会降低开销 - 无论它看起来多么微小。每个字形的字符串可以是多个字节,具体取决于字符编码,然后在字符串末尾需要一个空字符来终止它。

解析器必须完成所有这些操作才能在一天结束时将字符串转换回整数,例如当您不可避免地需要对这些值进行算术运算时。

此外,使用NSNumber将使您更清楚地了解您正在使用SOAP请求或响应处理的原始数据类型,不仅在您编写应用程序时,而且在您几个月后再次使用它时这条线,你需要做出改变。