最近用JSONkit转换JSON数据,转换后做为UITableView的数据源,代码如下:
NSArray *result = [resultStr objectFromJSONString];
但调度时,只要向上拉动UITableView就会报错:
[__NSCFString objectAtIndex:]: unrecognized selector sent to instance 0x696b490
2012-06-03 21:28:03.316 FashionReport[11243:f803] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFString objectAtIndex:]: unrecognized selector sent to instance 0x696b490'
*** First throw call stack:
我仔细检查,除了在- (void)dealloc 方法里释放了数据源变量,其它地方都没做什么操作赋值 ,后来想可能是JSONKit把数据源做了autorelease,于是把代码改为:
NSArray *result = [[resultStr objectFromJSONString] retain];
问题解决!
- 大小: 306.7 KB
分享到:
相关推荐
8. **注意事项**:在使用JSONKit时,要确保输入的JSON数据格式正确,否则解析过程可能会失败。同时,由于JSONKit没有自动处理非JSON兼容的对象,所以在进行转换前,需要确保对象符合JSON规范。 9. **集成**:将...
它提供了将JSON(JavaScript Object Notation)数据转换为Foundation对象(如NSDictionary,NSArray,NSString等)以及将这些对象序列化回JSON字符串的功能。JSON是网络通信中广泛使用的轻量级数据交换格式,因此...
5. **线程安全**:JSONKit设计为线程安全的,这意味着在多线程环境中,你可以安全地在不同的线程上同时使用JSONKit进行数据解析和序列化。 6. **内存管理**:JSONKit遵循Objective-C的内存管理规则,即当不再需要...
3. 添加`#import "JSONKit.h"`到你需要使用JsonKit的源代码文件中。 接下来,我们看看如何使用JsonKit进行JSON数据的解析和序列化。 **解析JSON数据:** 假设你有一个JSON字符串`NSString *jsonString`,你可以...
在使用JSONKit时,你需要将JSON字符串转换为Objective-C对象,或者将Objective-C对象转换为JSON字符串。例如,你可以通过以下方式解析JSON字符串: ```objc NSString *jsonString = @"{ \"name\":\"John\", \"age\...
总的来说,JSONKit是iOS开发中处理JSON数据的强大工具,它简化了JSON和Objective-C对象之间的转换,提高了开发效率。通过利用JSONKit,开发者可以更专注于业务逻辑,而不用过于关注数据序列化和反序列化的细节。在...
2. **解析JSON字符串到字典或数组**: 你可以使用`+ (id)JSONObjectWithData:(NSData *)data options:(JKParseOptionFlags)flags error:(NSError **)error`方法将JSON格式的数据转换为Foundation对象(NSArray或...
JSONKit 是一个Objective-C库,专门用于iOS和Mac OS X平台上的JSON(JavaScript Object Notation)解析和序列化。在iOS开发中,JSON作为一...理解并熟练使用JSONKit,可以极大地提升iOS应用处理JSON数据的效率和体验。
以下是如何使用JSONKit解析JSON数据: 1. **引入JSONKit**: 首先,你需要将`JSONKit.h`和`JSONKit.m`文件导入你的项目。在Xcode中,可以右键点击项目文件夹,选择"Add Files to...",然后选择这两个文件。 2. **...
在使用JSONKit时,开发者需要导入相应的头文件`#import "JSONKit.h"`,然后可以使用`JKParseJSONObject:`方法解析JSON字符串,该方法会返回一个Objective-C对象。例如: ```objc NSString *jsonString = @"{\"name\...
JSONKit是iOS开发中一个高效的JSON(JavaScript Object Notation)解析库,主要用于将JSON字符串转换为Objective-C对象,以及将Objective-C对象转换回JSON字符串。这个库在早期iOS开发中非常流行,因为它的性能优于...
7. **数据绑定**:在`- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath`中,获取到自定义Cell后,根据数据源(如NSArray或NSMutableArray)设置Cell内的各...
总的来说,这个简单的UITableView实例展示了如何通过纯代码方式创建、配置并填充数据。了解这些基础知识后,你可以进一步探索更复杂的功能,如分组、自定义cell动画、可编辑模式等。在实际项目中,结合Storyboard或...
- 序列化Objective-C对象:反向操作,你可以用`- (NSData *)JSONDataWithOptions:(JKSerializeOptionFlags)opt error:(NSError **)error`将 NSDictionary 或 NSArray 转换为NSData的JSON表示。 4. **类别扩展**: ...
在Swift编程语言中,NSArray是Objective-C的遗留数据结构,但在Swift中,通常我们会使用更安全、类型安全的`Array`结构体。然而,由于Swift与Objective-C的互操作性,有时我们仍需要与NSArray进行交互。这篇我们将...
TGRArrayDataSource和TGRFetchedResultsDataSource是实现可重用的类UITableView和UICollectionView使用数据源NSArray和NSFetchedResultsController分别。 受启发。 TGRFetchedResultsTableViewController是一个可...
使用 JSONKit 解析 JSON 数据非常简单。首先,你需要将 JSON 字符串导入到你的项目中,然后使用 JSONKit 的 `+JSONObjectWithData:options:error:` 方法来转换这个字符串。例如: ```objc NSData *jsonData = ...
通常,我们将使用已有的数据源(如数组`data`)和过滤后的数据源(如数组`filterData`)来分别处理原始数据和搜索结果: ```objc @interface MainViewController : UITableViewController , UITableViewDelegate, ...
不过,我们可以借助`NSMutableArray`(`NSArray`的可变子类)或者使用`NSArray`的分类方法`sortedArrayUsingComparator:`来实现排序。 1. 使用`sortedArrayUsingComparator:`方法: 这个方法接受一个比较器块作为...