ios - 如何解析来自 ASIHTTPRequest 的多行响应并将数据加载到 UITableView?

标签 ios uitableview asihttprequest

我正在尝试在我的 iOS 应用程序中构建一个简单的聊天模块。现在,应用程序可以发送消息,这些消息由 PHP 文件处理并保存到数据库中。

当尝试从数据库中检索要显示的消息时,服务器以以下格式返回最近 10 条消息的响应
msgid|userid|timestamp|message
请注意,这些值由 | 分隔。特点。

因此,来自我的服务器的示例响应如下

12|123|2013-03-02 09:15:16|Hey. How are you?
13|12|2013-03-02 09:17:31|Hey Matt. I'm good!
14|123|2013-03-02 09:18:02|That's great!

我需要将此响应加载到 TableViewCells 中,但我不确定如何解析响应并在本地保存数据。

我是 iOS 开发的新手,非常感谢您的帮助。

谢谢!

最佳答案

如果每条消息后都有换行符,您可以使用 NSString 方法:

- (NSArray *)componentsSeparatedByCharactersInSet:(NSCharacterSet *)separator

所以:
NSArray *tableViewCellDataArray = [responseString componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];

如果您的响应是 NSData 格式,您可以使用以下方法获取 NSString:
NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];

至于存储数据,您可以将其存储在 NSArray 属性中,或者如果您想要持久存储,请研究 Core Data 或 NSUserDefaults。

关于ios - 如何解析来自 ASIHTTPRequest 的多行响应并将数据加载到 UITableView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15178844/

相关文章:

ios - 如何在swiftui列表中获取textField值

ios - 如何从表格中删除单元格

iphone - 如何使用 asihttprequest 跟踪单个下载速度

ios - 如何在我的 prepareForSegue 方法中获取 cell.textlabel.text 的值?

ios - 如何正确确保可以重用自定义 UITableViewCell

ios - AFNetworking 同时请求

ios - AVFoundation:在 CanAddInput 处切换相机失败

ios - 使用 Superpowered 或 AudioKit 音频库在 Swift 中录制回调函数

iOS Swift WKWebView 使用 Session 登录

ios - UILabel 在 UITableViewCell 上多次添加