当我尝试在我的xcode项目中构建一个对象时,我收到一个编译器错误.这是代码:
import UIKit
class Rectangulo: NSObject {
var ladoA : Int
var ladoB : Int
var area: Int {
get {
return ladoA*ladoB
}
}
init (ladoA:Int,ladoB:Int) {
self.ladoA = ladoA
self.ladoB = ladoB
}
func description() -> NSString {
return "El area es \(area)"
}
}
Run Code Online (Sandbox Code Playgroud)
编译时的错误是:
Rectangulo.swift:26:10: Method 'description()' with Objective-C selector 'description' conflicts with getter for 'description' from superclass 'NSObject' with the same Objective-C selector
Run Code Online (Sandbox Code Playgroud)
我需要做什么来覆盖这个功能而没有问题?
Mar*_*n R 18
description
是(计算的)属性NSObjectProtocol
,而不是方法.String
,而不是NSString
.override
明确指定.一起:
// main.swift:
import Foundation
class Rectangulo: NSObject {
var ladoA : Int
var ladoB : Int
var area: Int {
get {
return ladoA*ladoB
}
}
init (ladoA:Int,ladoB:Int) {
self.ladoA = ladoA
self.ladoB = ladoB
}
override var description : String {
return "El area es \(area)"
}
}
let r = Rectangulo(ladoA: 2, ladoB: 3)
print(r) // El area es 6
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7330 次 |
最近记录: |