首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在何种情况下,结构中存储的属性不会有默认值?

在何种情况下,结构中存储的属性不会有默认值?
EN

Stack Overflow用户
提问于 2016-02-03 02:09:07
回答 2查看 60关注 0票数 0

我是Swift的新手,我正在努力学习Memberwise Initialisers的概念。以下声明来自“Swift编程语言2.1”。

我的问题是,在什么样的情况下,存储在结构中的属性不会有默认值?有解释的例子将不胜感激。

用于结构类型的分阶段初始化器 如果结构类型不定义自己的自定义初始化器,则会自动接收按成员划分的初始化器。与默认初始化程序不同的是,即使该结构具有存储的属性没有默认值,它也会接收成员级初始化程序。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-03 02:17:21

代码语言:javascript
复制
struct Human {
    var legs = 2
    var name: String
}

name没有默认值的结构。您不能使用默认的初始化程序Human(),因为您不能提供名称;但是可以使用按成员顺序初始化的Human(legs: 1, name: "Lame Harry")

票数 1
EN

Stack Overflow用户

发布于 2016-02-03 02:17:17

例如,当没有合理的默认值时:

代码语言:javascript
复制
struct GeoLocation {
  let latitude: Float
  let longitude: Float
}

let geoLocation = GeoLocation(latitude: 13.7522, longitude: 100.4939)

地球上有很多地方,在你的应用程序中,没有一个可能是默认的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35167304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档