gpt4 book ai didi

ios - 在NSDictionary中使用下标访问值和仅使用valueForKey访问值之间的区别

转载 作者:行者123 更新时间:2023-12-01 20:00:56 24 4
gpt4 key购买 nike

我有以下几行:

_driverName.text = [[[responseDictionary valueForKey:@"response" ] valueForKey:@"driverinfo"]valueForKey:@"name"];

但是我认为我可以通过以下方式使用订阅来缩小这一行:
_driverName.text = responseDictionary[@"response" ][@"driverinfo"][@"name"];

看起来更干净易读。
是否可以应用此语法而不会带来附带后果?
提前致谢

最佳答案

忽略valueForKey:的滥用(请使用objectForKey:),您不应在问题中使用任何一个示例。当您遇到问题时,这两种方法都无法调试,因为数据结构不是您想象的那样。

尽管需要更多时间,但最终还是值得将每个访问权限划分为单独的一行:

NSDictionary *response = responseDictionary[@"response"];
NSDictionary *driverInfo = response[@"driverInfo"];
_driverName.text = driverInfo[@"name"];

但是,与使用 objectForKey:相比,使用现代下标语法总是容易得多,并且不容易出错,并且可以确保您不会错误地使用 valueForKey:

关于ios - 在NSDictionary中使用下标访问值和仅使用valueForKey访问值之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39922181/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com