ios - NSString 有一些属性值 用 & 符号如何获取该属性值

标签 ios objective-c nsstring

我已收到服务器的响应。

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

但我的问题是该字符串有一些带有 & 符号的属性值,它不是 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

如何获取此值并在标签示例中显示需要在一个标签中显示的货币代码值,例如该标签中的美元。 就像我需要做的所有 dis email_id,usertypecode,player_isblocked

请帮我解决这个问题

最佳答案

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

您可以将此字符串视为 NSString 并通过发送参数为 @ 的消息 componentsSeparatedByString: 来获取 NSArray “&”

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 之类的方法,但如果您需要其余的,这是直接且灵活的。

关于ios - NSString 有一些属性值 用 & 符号如何获取该属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18527968/

相关文章:

ios - iOS 7 崩溃 : [NSConcreteMapTable assign:key:value:isNew:]

ios - iOS平台编译FFmpeg框架时出错

ios - 如何确保启动屏幕正在显示

objective-c - 在 NSString 中填充一个数字

ios - 追加到 NSString 方法的开头

ios - 初始化父View的父View问题

ios - 是否可以延迟 iPhone 检测运动,直到 View 从屏幕上消失?

objective-c - viewdidload 中的指令未被处理

ios - 为 UIImagePickerController 选择视频时崩溃

iphone - 通过空格将 1 个 NSString 分成两个 NSString