gpt4 book ai didi

swift - 如何将参数传递给对象函数而不发生崩溃

转载 作者:行者123 更新时间:2023-11-30 11:41:01 29 4
gpt4 key购买 nike

我试图将 viewController 的逻辑移动到 view model,但由于某种原因它总是崩溃,说在解包时意外发现 nil可选值。无论我尝试移动什么代码,我都会不断收到此错误,因此我一定是做了一些根本错误的事情。这是我在 viewController 中的代码示例:

var recipesViewModel: RecipesViewModel! //VIEW MODEL CLASS REFERENCE


var recipeCategory = recipesViewModel.transformToUpperCase(dataRecieverStringRecipeView: "testString")

然后在 View 模型类中:

func transformToUpperCase(dataRecieverStringRecipeView: String) -> String {
var recipeCategory = dataRecieverStringRecipeView
var prefixRecipeCategory = recipeCategory.prefix(1).uppercased()
var dropFirstRecipeCategory = recipeCategory.dropFirst()
var upperCasedRecipeCategory = prefixRecipeCategory + dropFirstRecipeCategory
return upperCasedRecipeCategory
}

...它将字符串转换为大写字母作为其第一个字母。

当所有内容都在 View 模型中时,代码工作得很好,但是一旦我将其移动到另一个类并通过对象调用该函数,它就会崩溃。我错过了什么?

最佳答案

您需要修复 View 模型类引用

要更改的行:

var recipesViewModel: RecipesViewModel!
<小时/>

替换线:

var recipesViewModel = RecipesViewModel()
<小时/>

这行代码将正确声明/创建 recipesViewModel 作为类 RecipesViewModel 的对象。

希望能解决您的疑问!

关于swift - 如何将参数传递给对象函数而不发生崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49287631/

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