当前位置: 首页 > 面试题库 >

财产获取者和安置者

戚成礼
2023-03-14
问题内容

通过这个简单的类,我得到了编译器 警告

尝试x在自己的设置器/ 获取器中修改/访问

当我这样使用它时:

var p: point = Point()
p.x = 12

我得到一个EXC_BAD_ACCESS。没有明确的支持,我该怎么办?

class Point {

    var x: Int {
        set {
            x = newValue * 2 //Error
        }
        get {
            return x / 2 //Error
        }
    }
    // ...
}

问题答案:

Setter和Getters适用于computed properties;这样的属性在实例中没有存储-
来自getter的值应从其他实例属性中计算出来。在您的情况下,没有x要分配的内容。

明确地:“如何在没有明确支持的情况下做到这一点”。您不能-您将需要 一些内容 来备份计算的属性。试试这个:

class Point {
  private var _x: Int = 0             // _x -> backingX
  var x: Int {
    set { _x = 2 * newValue }
    get { return _x / 2 }
  }
}

具体来说,在Swift REPL中:

 15> var pt = Point()
pt: Point = {
  _x = 0
}
 16> pt.x = 10
 17> pt
$R3: Point = {
  _x = 20
}
 18> pt.x
$R4: Int = 10


 类似资料:
  • 用例如下。我在Java代码中的许多对象实例上传递生产者或消费者引用。在其中一些地方,我想对Kafka的配置进行一些检查。这意味着我想回去,Kafka生产者/消费者(包括默认值)中存储了什么样的有效配置。我在java文档中没有看到显式的anthing: Kafka制作人 那么,如何找回Kafka制作人和消费者的配置呢?

  • 问题内容: 在程序运行之前,我需要从一个不知道的位置将一些属性加载到Spring上下文中。 所以我认为,如果我有一个不带位置的PropertyPlaceholderConfigurer,它将从系统属性中读取,然后可以在上下文中使用该位置:property- placeholder 像这样 但这是行不通的 保罗 问题答案: 这里的问题是您正在尝试使用属性占位符语法配置属性占位符:)这有点像鸡和蛋的情

  • 问题内容: 如何在Kotlin中建立一个拥有私有获取者(或没有私有获取者)却拥有公共委托者的财产? 不会出现错误: 就我而言,原因是Java互操作:我希望我的Java代码能够调用,但不能。 问题答案: 目前,在Kotlin中,不可能有一个带有传承人的财产,而不是财产。问题跟踪器中存在语言设计问题,可以随时对其进行观看/投票或分享您的用例:https : //youtrack.jetbrains.c

  • 两者之间有什么区别 静态归属[作者:作者] 当static bongsto=Author保留在Books域中时,对数据库没有影响。但是,静态bongsto=[author:author]创建了对author类的反向引用,并且在DB中还有author_id列。因此,实际只使用静态bongsto=Author所做的事情。这是在grails文档(http://grails.github.io/grail

  • 本教程演示了如何发送和接收来自Spring Kafka的消息。 首先创建一个能够发送消息给Kafka主题的Spring Kafka Producer。 接下来,我们创建一个Spring Kafka Consumer,它可以收听发送给Kafka主题的消息。使用适当的键/值序列化器和解串器来配置它们。 最后用一个简单的Spring Boot应用程序演示应用程序。 下载并安装Apache Kafka 要

  • 获取使用者列表 请求方式: GET 请求地址: https://open.qingtui.cn/v1/app/followers?access_token=ACCESS_TOKEN&page_size=PAGE_SIZE&request_page=REQUEST_PAGE 参数说明: 参数 必须 说明 access_token 是 接口调用凭证 page_size 是 请求页面数量 request