NSString有一些属性值With& symbol如何获取属性值

时间:2013-08-30 08:07:14

标签: ios objective-c nsstring

我收到了服务器的回复。

我已将这些值存储在一个字符串中。

但是我的问题在于该字符串中有一些带有&的属性值。 symbol它不是一个xml结构,所以如何在该字符串中获取该属性值。

这是我收到服务器的回复。 [为了清晰起见添加了新行,它们全部一起运行 - 编辑]

&currency_code=USD
&currency_symbol$
&email_id=good@good.com
&usertypecode=ROBT
&id=fcscdj
&player_level=1
&player_isblocked=false
&lang=en
&respond=true
&flylogin=false
&str=PageEnd
&user_balance=100000394.90
&user_bonus_balance=0.00
&user_id=e4567

如何获取此值并在标签示例中显示需要的货币代码值,以便在该标签中显示一个标签,如USD。 就像我需要做的一样email_idusertypecodeplayer_isblocked

请帮我解决这个问题

1 个答案:

答案 0 :(得分:1)

对于初学者来说,看起来数据可以被认为类似于NSDictionary

您可以将此字符串作为NSString,并通过发送NSArray以及componentsSeparatedByString:的arg来获取@"&"

NSArray *firstArray = [responseString componentsSeparatedByString:@"&"];

然后创建NSMutableDictionary

NSMutableDictionary *mDict = [[ NSMutableDictionary alloc] initWithCapacity: firstArray.count ];

然后使用快速枚举来填充键值对。

for ( NSString *aKVP in firstArray) {
    NSArray *tempArray = [aKVP componentsSeparatedByString:@"="];
    [mDict setValue: tempArray[1] forKey: tempArray[0] ];
}

然后你有一个可以使用的数据结构。 您可以通过键访问值来设置按钮标签或您想要执行的任何其他操作。

其他方法包括NSScannerNSRegularExpression等内容,但如果您需要其他方法,这是直截了当且灵活的。