如何测试未定义的数组?

How to test for undefined array?

我正在使用这行代码

let transactions = SKPaymentQueue.default().transactions

这就是 Apple 惊人的文档对 transactions 的评价。

"undefined" 到底是什么?在继续代码之前如何测试事务?

我有一个连接到支付队列的观察。

我可以向你保证 undefined 不是 nil,因为我已经测试了 nil 和 Xcode 并报错

Comparing non-optional value of type '[SKPaymentTransaction]' to 'nil' always returns false

undefined 是新的"empty array"吗?如果没有,我该如何测试?

Undefined 的字面意思是:API 没有定义框架将做什么。任何东西都是 "fair game".

该代码可能会导致致命错误,return 空数组,或触发工作流通过邮件向您发送明信片。 未定义

但是,无论当前的行为是什么,您都不应该依赖它。它今天可能 return 是一个空数组,但明天会崩溃。因为 API 明确将行为记录为未定义,所以 Apple 可以自由更改实现细节,而不会将它们算作 "API breaking changes"。