Strange Error about Default values


(Wang LiMing) #1

In latest Xcode(8.2.1), playground

struct S1 {
  var v = 1 {
    get { // report Error: Use of unresolved identifier ‘get'
      return self.v. // report Error: Use of unresolved identifier ‘self'
   }
}

I can’t found the reason about the error.


(Adrian Zubarev) #2

Computed properties do not have any default values. That said, you can only use didSet or willSet on properties like yours to observe them or remove the default value from the computed property completely to use get and set.

···

--
Adrian Zubarev
Sent with Airmail

Am 18. Januar 2017 um 15:06:16, Wang LiMing via swift-users (swift-users@swift.org) schrieb:

In latest Xcode(8.2.1), playground

struct S1 {
var v = 1 {
get { // report Error: Use of unresolved identifier ‘get'
return self.v. // report Error: Use of unresolved identifier ‘self'
}
}

I can’t found the reason about the error.
_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users


(Jordan Rose) #3

It is a terrible error message, though. I've filed SR-3671 <https://bugs.swift.org/browse/SR-3671> to improve it. Thanks, LiMing (and Adrian).

Jordan

···

On Jan 18, 2017, at 07:29, Adrian Zubarev via swift-users <swift-users@swift.org> wrote:

Computed properties do not have any default values. That said, you can only use didSet or willSet on properties like yours to observe them or remove the default value from the computed property completely to use get and set.

--
Adrian Zubarev
Sent with Airmail

Am 18. Januar 2017 um 15:06:16, Wang LiMing via swift-users (swift-users@swift.org <mailto:swift-users@swift.org>) schrieb:

In latest Xcode(8.2.1), playground

struct S1 {
  var v = 1 {
    get { // report Error: Use of unresolved identifier ‘get'
      return self.v. // report Error: Use of unresolved identifier ‘self'
   }
}

I can’t found the reason about the error.
_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

_______________________________________________
swift-users mailing list
swift-users@swift.org <mailto:swift-users@swift.org>
https://lists.swift.org/mailman/listinfo/swift-users


(Zhao Xin) #4

Maybe what you want is

struct S1 {
    private var _v = 1
    var v:Int {
        get {
            return self._v
        }
    }
}

Zhaoxin

···

On Thu, Jan 19, 2017 at 2:08 AM, Jordan Rose via swift-users < swift-users@swift.org> wrote:

It is a terrible error message, though. I've filed SR-3671
<https://bugs.swift.org/browse/SR-3671> to improve it. Thanks, LiMing
(and Adrian).

Jordan

On Jan 18, 2017, at 07:29, Adrian Zubarev via swift-users < > swift-users@swift.org> wrote:

Computed properties do not have any default values. That said, you can
only use didSet or willSet on properties like yours to observe them or
remove the default value from the computed property completely to use get
and set.

--
Adrian Zubarev
Sent with Airmail

Am 18. Januar 2017 um 15:06:16, Wang LiMing via swift-users (
swift-users@swift.org) schrieb:

In latest Xcode(8.2.1), playground

struct S1 {
  var v = 1 {
    get { // report Error: Use of unresolved identifier
‘get'
      return self.v. // report Error: Use of unresolved identifier
‘self'
   }
}

I can’t found the reason about the error.
_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users