- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经使用此方法完成了我的应用程序,我正在实现的最后一个调用是一个简单的 JSON 响应,我需要对其进行解析,它会给我:
[__NSCFString objectAtIndexedSubscript:]: unrecognized selector sent to instance 0x17005caa0'
这个网站上有很多类似这样的问题,但我按照他们的指示做了所有事情,但仍然没有运气。
它是responseObject中嵌套的JSON。我收到了 responseObject,这意味着我发送的请求是正确的。
[[manager dataTaskWithRequest:req completionHandler:^(NSURLResponse * _Nonnull response, id _Nullable responseObject, NSError * _Nullable error){
if (!error) {
if (response) {
allResponse = [[NSMutableArray alloc] init];
allPractice = [[NSMutableArray alloc] init];
allProvider = [[NSMutableArray alloc] init];
allFirstName = [[NSMutableArray alloc] init];
allMiddleName = [[NSMutableArray alloc] init];
allLastName = [[NSMutableArray alloc] init];
allPracticeName = [[NSMutableArray alloc] init];
allResponse = responseObject;
allPractice = [allResponse valueForKey:@"Practice"];
allProvider = [allResponse valueForKey:@"Provider"];
allFirstName = [allProvider valueForKey:@"FirstName"];
allMiddleName = [allProvider valueForKey:@"MiddleName"];
allLastName = [allProvider valueForKey:@"LastName"];
allPracticeName = [allPractice valueForKey:@"PracticeAlias"];
[self.tableView reloadData];
[SVProgressHUD dismiss];
}}
这是我作为 ResponseObjects 得到的结构。
{
AccountType = 2;
CreatedBy = smith;
CreatedDate = "2016-01-25T02:07:42.45";
DisplayName = ", ";
Email = "<null>";
ErrorMessage = "<null>";
FirstName = "<null>";
ID = 1;
IsActive = 1;
Password = test;
Phone = "<null>";
Practice = {
PracticeAlias = “SAMPLE MEDICAL GROUP";
};
PracticeAlias = "<null>";
PracticeCode = "<null>";
PracticeID = 1;
Provider = {
AccountType = 0;
CreatedBy = smith;
LastName = John;
MiddleName = "";
FirstName = Smith;
};
Staff = "<null>";
lstPractice = "<null>";
lstProvider = "<null>";
pageSize = 0;
}
所以在 cellForRowAtIndexPath
中,当我这样做时:
NSLog(@"%@", [NSString stringWithFormat:@"%@",allPracticeName[indexPath.row]]);
应用崩溃并显示我在上面分享的消息。
最佳答案
看两条线
allResponse = [[NSMutableArray alloc] init];
allResponse = responseObject;
这是废话。您将 allResponse 设置为新创建的可变数组,然后将其替换为 responseObject。而且没有任何检查。任何意外数据都会使您的应用程序崩溃。
您应该使 responseObject 成为一个 NSDictionary* - 然后检查它确实是一个 NSDictionary*。不要使用 valueForKey 除非你能给出一个很好的理由为什么你这样做而不是仅仅使用 responseObject [@"Practice"] 例如。并检查这些类型。
关于ios - 在 cellForRowAtIndexPath 中使用 NSLog 获取 NSCFString objectAtIndexedSubscript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40548943/
我一直在解决很多内存泄漏问题,但没有成功解决这个问题。由于 [NSCFString substringWithRange:] 导致大量 NSCF 内存泄漏。我一直在检查所有的字符串分配,并在适当的地方
我正在从事一个需要格外小心内存的项目。我在仪器上运行了模拟,它显示了下一个泄漏: 泄露的对象:NSCFString 大小:80 字节 负责图书馆:基金会 责任框架:NSPlaceHolderStrin
我遇到了一个奇怪的问题,将 NSDictionary 存储到 NSUserDefaults,然后检索它会将其转换为 NSCFString。 这是我保存数据的地方: - (void)saveProgre
我正在遍历通过 API 调用获得的一组数字: 例如[6000, 6001, 2000] 这是我的代码: for(NSNumber* arrayID in array){
这是我使用 JSON 从 MySQL 表中检索数据的代码: //URL definition where php file is hosted int categoriaID = [[cate
我有一个小问题,在 Google 中找不到:UITableView 工作正常,直到我开始滚动。 Error Message: `-[NSCFString objectAtIndex:]: unreco
仪器告诉我 NSCFString 16Bytes 基础 -[NSPlaceholderString 我的代码是这样的: BOOL rslt = [self sendLogInfo:[NSString
我正在开发一个 iOS 4 应用程序。 我有一个具有 NSMutableDictionary 属性的类: @interface CardHelper : NSObject { ...
我的 json : { "name": "notification", "args": [ "{\"data\": [{\"foreignId\":\"BF7E9276D860
我只是出于测试目的编写以下代码: NSString *aStr = [[NSString alloc] initWithFormat:@"Foo"]; aStr = [aStr initWithFor
在我的 iOS 项目中,我收到此警告: Local declaration of data hides instance variable. 当我运行它时,它崩溃并给出了这个错误: NSCFStrin
我只是为了测试目的编写了以下代码: NSString *aStr = [[NSString alloc] initWithFormat:@"Foo"]; aStr = [aStr initWithFo
我阅读了有关 S.O 的资料,并在谷歌上做了一些搜索,但我无法找到我的问题的答案...... 我有一个 NSDictionary,它返回 NSCFString's,我需要的是一个 NSString,这
我正在从服务器获取字典 myDictionary = { "rank":"1", "color":"red", "position":"middle" } 现在我想在 if 条件下检查键“positi
我正在尝试使用此代码捕获按键。我的问题是 Instruments 会抛出一条关于泄漏的消息。 我在没有垃圾收集的情况下工作。 -(void)keyDown:(NSEvent *)theEvent {
我有以下产生此错误的代码。我不明白为什么将 subarrayWithRange 消息发送到字符串?什么时候明明是数组? static const int kItemsPerView = 20; NSR
我的目标非常简单——我试图为一些测试数据设置一个 NSString,然后返回类,它应该是 NSString。这是我的代码: NSString* stringer = [NSString stringW
我正在 NSString 中获取一个 NSMutabledictionary 对象,如下所示: NSString *state=[d valueForKey:@"State"]; 现在有时状态可能为空
我是 iPhone 开发新手,一直很难弄清楚为什么我的 table 无法工作。我不确定,这可能与核心数据有关。 viewDidLoad 方法一开始工作正常,但是当我尝试滚动 TableView 时,当
我仅从一位用户那里收到了30多个崩溃报告。没有人显示相同的行为。通常,我可以找出问题所在,因为总是有对我的代码的引用,但是没有引用。 它们都是来自类型: Exception Type: EXC_CR
我是一名优秀的程序员,十分优秀!