Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.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
Swift 这个错误是什么意思?我该如何修复它?_Swift - Fatal编程技术网

Swift 这个错误是什么意思?我该如何修复它?

Swift 这个错误是什么意思?我该如何修复它?,swift,Swift,我只是在学习迅捷。 如果您能解决以下问题,我将不胜感激。 这个错误是什么意思?我该如何修复它 SwiftPrac01.swift swift是安全类型语言,意味着您应该告诉变量可能为null或始终具有值 giv有一些可为空的变量?做记号它告诉你这个变量可能是空的 如果你不给我钱?标记地址,表示它必须有一个值 在初始化过程中,还必须设置地址值您在Person类中声明了一个名为address的变量: 但是,您到达了init的末尾,但没有为此变量提供值 Swift要求所有未声明为可选的变量在对象完成初

我只是在学习迅捷。 如果您能解决以下问题,我将不胜感激。 这个错误是什么意思?我该如何修复它

SwiftPrac01.swift


swift是安全类型语言,意味着您应该告诉变量可能为null或始终具有值

giv有一些可为空的变量?做记号它告诉你这个变量可能是空的

如果你不给我钱?标记地址,表示它必须有一个值
在初始化过程中,还必须设置地址值

您在Person类中声明了一个名为address的变量:

但是,您到达了init的末尾,但没有为此变量提供值

Swift要求所有未声明为可选的变量在对象完成初始化时都有一个值。您可以通过在init方法中设置self.address或提供如下默认值来实现此目的:

var address: Address = ...something...

在Person类中,您没有初始化地址

试试这个

class Address {

  var city: String

  init(city: String) {
    self.city = city
  }
}

class Person {

  var name: String
  var address: Address

    init(name: String, address: Address){
    self.name = name
        self.address = address
  }
}

let youradress = Address(city: "tottenham")
var sonHM: Person = Person(name: "sonHM", address: youradress)
//sonHM.address = Address(city: "tottenham")

print(sonHM.address.city)


@如果这回答了您的问题,可以标记为接受答案吗
var address: Address = ...something...
class Address {

  var city: String

  init(city: String) {
    self.city = city
  }
}

class Person {

  var name: String
  var address: Address

    init(name: String, address: Address){
    self.name = name
        self.address = address
  }
}

let youradress = Address(city: "tottenham")
var sonHM: Person = Person(name: "sonHM", address: youradress)
//sonHM.address = Address(city: "tottenham")

print(sonHM.address.city)