gpt4 book ai didi

ios - 如果将某种类型传递给 Swift 中的函数,如何返回 nil?

转载 作者:可可西里 更新时间:2023-11-01 01:06:34 25 4
gpt4 key购买 nike

好的,所以如果某个类型被传递到我的函数中,我会尝试返回 nil。在这种情况下,我传递了我的类“BlogPost”的一个实例和这篇博文中的一个类型。我还有一个名为“types”的数组,我已将变量 Videos 分配给该数组的最后一个索引。如果这个类型被传递到我的函数中,我想返回 nil(所以假设我在这里需要一个可选的来返回一个可能的 nil)这就是我到目前为止所拥有的:-

enter image description here

所以总而言之,我需要传入我的博客文章的一个实例,但如果传入某种类型,则始终返回 nil。希望这是有道理的


更新:

types 数组定义如下:

let types : [String] = ["technology", "Fashion", "Animals"]

这是我在函数中引用的数组。基本上,如果数组的最后一个条目被输入到函数中,我需要返回 nil

确保这是博客文章,它实际上有一个空字符串类型

enter image description here

太好了,我现在所做的就是更改 blogpost.type 以随机选择一个。所以现在如果从这个数组中选择特定类型,我该怎么做仍然会出错。这是我更新到的内容

enter image description here

所以现在我需要做的就是访问 2输入该数组,如果我确实访问它,则返回 nil。对此有什么想法吗?所以把它拖下去谢谢

最佳答案

我认为你做不到。您可以创建可失败的初始化器,它可以满足您的需要,但您不能将其用于正常功能。

对您来说最好的解决方案是返回可选的 Int 或 String 并且当您调用该函数时只需检查结果是否为 nil 并执行您需要执行的操作,否则忽略它:

func randomViews(blog : BlogPost.Type) -> Int? {
case 10:
return nil
case 10, 20 :
return 0
default:
random

}

if (randomViews(parameter) == nil) {
//function returned nil
}

您显示错误是因为您将可选博客与视频进行比较,您必须先将其解包,例如,如果您确定该博客始终具有值(value),请使用:

if blog! == Videos

如果不确定使用是否更安全:

if let blg = blog {
if blg == Videos {
}
else {
// blog has not have a value
}

关于ios - 如果将某种类型传递给 Swift 中的函数,如何返回 nil?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26863585/

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