Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios SwiftUI-创建类错误:传递给不带参数的调用的参数_Ios_Swift_Swiftui - Fatal编程技术网

Ios SwiftUI-创建类错误:传递给不带参数的调用的参数

Ios SwiftUI-创建类错误:传递给不带参数的调用的参数,ios,swift,swiftui,Ios,Swift,Swiftui,我是Swift新手,正在尝试创建一个简单的类“Cat.Swift”,然后将该类传递给我的SceneDelegate文件,然后将其传递给我的ContentView文件 然而,我不断地得到“参数传递给不带参数的调用”错误,并且构建一直失败 Cat.swift代码 class Cat { var breed: String = "" var personality: String = "" var colour: String = "" var characterisi

我是Swift新手,正在尝试创建一个简单的类“Cat.Swift”,然后将该类传递给我的SceneDelegate文件,然后将其传递给我的ContentView文件

然而,我不断地得到“参数传递给不带参数的调用”错误,并且构建一直失败

Cat.swift代码

class Cat {
    var breed: String = ""
    var personality: String = ""
    var colour: String = ""
    var characterisitics: String = ""

    init(bre: String, pers: String, col: String, chars: String) {
        breed = bre
        personality = pers
        colour = col
        characterisitics = chars
    }
}
class SceneDelegate: UIResponder, UIWindowSceneDelegate {

    var window: UIWindow?

    let cat = Cat(bre: "ooo", pers: "ppp", col: "ppp", chars: "ppp")

    func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
        let contentView = ContentView(cat: cat)
        if let windowScene = scene as? UIWindowScene {
            let window = UIWindow(windowScene: windowScene)
            window.rootViewController = UIHostingController(rootView: contentView)
            self.window = window
            window.makeKeyAndVisible()
        }
    }

SceneDelegate.swift代码

class Cat {
    var breed: String = ""
    var personality: String = ""
    var colour: String = ""
    var characterisitics: String = ""

    init(bre: String, pers: String, col: String, chars: String) {
        breed = bre
        personality = pers
        colour = col
        characterisitics = chars
    }
}
class SceneDelegate: UIResponder, UIWindowSceneDelegate {

    var window: UIWindow?

    let cat = Cat(bre: "ooo", pers: "ppp", col: "ppp", chars: "ppp")

    func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
        let contentView = ContentView(cat: cat)
        if let windowScene = scene as? UIWindowScene {
            let window = UIWindow(windowScene: windowScene)
            window.rootViewController = UIHostingController(rootView: contentView)
            self.window = window
            window.makeKeyAndVisible()
        }
    }

ContentView.swift文件

import SwiftUI

struct ContentView: View {
    var body: some View {
        Text("bugggggy\(cat.bre)")
        }
    }


struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView(cat: Cat(bre: "p", pers: "p", col: "p", chars: "p"))
    }
}

这是因为没有参数cat为ContentView的构造函数 所以Xcode提醒了你这一点

下面的代码可以解决您的问题,但不能确定它是否符合您的期望

struct ContentView: View {

    private var cat: Cat

    init(cat: Cat) {
        self.cat = cat
    }

    var body: some View {
        Text("Hello, World!")
    }
}

这是因为没有参数cat为ContentView的构造函数 所以Xcode提醒了你这一点

下面的代码可以解决您的问题,但不能确定它是否符合您的期望

struct ContentView: View {

    private var cat: Cat

    init(cat: Cat) {
        self.cat = cat
    }

    var body: some View {
        Text("Hello, World!")
    }
}

你的ContentView和它的构造函数在哪里?如果你把所有的参数标签都变成胡言乱语,那么使用
self.
是没有意义的@杰西:是的,你完全正确。谢谢你的提示!下次我会做得更好:)你的ContentView和它的构造函数在哪里?如果你把所有的参数标签都变成乱七八糟的话,那么使用
self.
是没有意义的@杰西:是的,你完全正确。谢谢你的提示!下次我会做得更好:)非常感谢你的帮助,我现在意识到我的错误是多么愚蠢!我一定是需要离开它回来。对不起,我浪费了你的时间。:)非常感谢你的帮助,我现在意识到我的错误是多么愚蠢!我一定是需要离开它回来。对不起,我浪费了你的时间。:)