Skip to content

qmui_queryItems 返回值类型错误会导致swift中调用崩溃 #1391

@xixisplit

Description

@xixisplit

Bug 表现
问题的具体描述
NSURL (QMUI) 文件中
qmui_queryItems 参数的指定返回值类型为 (NSDictionary<NSString *, NSString *> *)
但是.30行的 [params setObject:obj.value ?: [NSNull null] forKey:obj.name] 中.obj.value 如果为空.则会赋值 NSNull
会触发swift 中对参数类型的强制校验.引发崩溃.
控制台提示:
Could not cast value of type 'NSNull' (0x2076dbeb8) to 'NSString' (0x2076d8e30).

截图
Bug 现场的界面截图,或者 Xcode 控制台的错误信息截图,有问题的代码截图
如何重现
let url = NSURL.init(string: "https://www.baidu.com?key")
debugPrint(url?.qmui_queryItems)
swift 项目 直接调用以上代码即可

预期的表现
正常情况下,应该是什么表现

其他信息

  • 设备: [iPhone SE2]
  • iOS 版本: [iOS 15.4.1]
  • Xcode 版本: [Xcode 13.2.1]
  • QMUI 版本: [4.4.0]

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions