でのNSLogとNSCFString objectAtIndexedSubscriptを取得する私は、このメソッドを使用して私のアプリを終了していると私は実装しています最後の呼び出しは、私が解析する必要が簡単なJSON応答であり、それは私を与えている:cellForRowAtIndexPath
[ __NSCFString objectAtIndexedSubscriptは:]:認識されていないセレクタのインスタンス0x17005caa0' に
を を送っこのウェブサイト上でこのようなsmililar質問がたくさんありますが、それらはまったく運を指示していないが、それでも、私はすべてをやっています。
これは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];
}}
これは、ResponseObjectとして取得している構造です。
cellForRowAtIndexPath
中のSO
{
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;
}
私はこれを実行します。私は上記の共有メッセージと
NSLog(@"%@", [NSString stringWithFormat:@"%@",allPracticeName[indexPath.row]]);
アプリがクラッシュします。
"< null >"をヌルの代わりに文字列値として送信することは非常に奇妙です。おそらく彼らの開発者は[NSNull null]をチェックすることができませんでした。 – gnasher729