gpt4 book ai didi

objective-c - 哪些方法会引发 NSInvalidArgumentException?

转载 作者:行者123 更新时间:2023-12-03 17:50:03 25 4
gpt4 key购买 nike

我使用 Objective-c 和 cocoa api 一段时间了。但我不知道如果我将 nil 传递给参数,cocoa apis 中的哪些方法会引发 NSInvalidArgumentException 。

如何获取所有方法都会引发 NSInvalidArgumentException 以及哪个参数不能为 nil 的列表。官方文件有时不太明确,信息分散。

喜欢这个方法

NSData's -writeToURL:options:error:

我知道第一个参数不能为nil,否则会崩溃,但文档从未告诉我该信息。我如何知道在所有 Cocoa API 中,哪些方法不能接收 nil 参数并且会引发 NSInvalidArgumentException。

最佳答案

您可以查看 Swift 声明。如果它不是可选的,则不允许使用nil。如果它是常规可选 (?),则明确允许 nil。如果它是隐式解包的可选 (!),那么您不知道。例如,对于您提到的方法 -[NSData writeToURL:options:error:],Swift 声明为:

func writeToURL(_ aURL: NSURL,
options mask: NSDataWritingOptions,
error errorPtr: NSErrorPointer) -> Bool

类型 NSURL(而不是 NSURL?NSURL!)表示不允许使用 nil

关于objective-c - 哪些方法会引发 NSInvalidArgumentException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29415458/

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