ios - '调用中的额外参数 'id'' 与 Swift 结构

标签 ios xcode swift struct swift2

我有一个 Swift 结构,如下所示:

import Foundation

let invalidCharsForFirstCharacter : [Character] = [
     "\\", "_", "-", "!", "'" , "§", "$", "%", "&", "/", "(", ")", "=", "?", ".", ":", ",", ";"
]

struct Event {
    var id : String {
        set {
            if invalidCharsForFirstCharacter.contains(newValue[newValue.startIndex]) {
                self.id = ""
            } else {
                self.id = newValue
            }
        }
        get {
            return self.id
        }
    }

    var name : String
}

当我现在想要使用像 let testEvent = Event(id: "id123", name: "name") 这样的调用来初始化结构时,Xcode 给出了错误“Extra argument”通话中的“id””。

我使用 Xcode 版本 7.0 (7A218) 和 Swift 2.0。

最佳答案

您收到消息Extra argument 'id' in call,因为您的结构没有带有此 id 参数的初始值设定项。

但是在您的情况下,您无法添加此 init,因为您的 id 变量有一个使用 self 的 setter ,并且您不能使用 self 在结构完全初始化之前。

关于ios - '调用中的额外参数 'id'' 与 Swift 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32699918/

相关文章:

iphone - 为 NSString Xcode 的一部分着色

ios - 单元格中有不必要的填充的 UILabel

iOS 11 - 如何读取/解析来自 CoreNFC 的 NDEF 消息?

ios - 如何从 appDelegate 呈现 UIAlertView

ios - 将钥匙串(keychain)包装器添加到我的 iOS 应用程序的目的是什么?

ios - 如何从子JSON中获取数据

ios - -Swift.h 头文件中没有名为 'AVCaptureVideoDataOutputSampleBufferDelegate' 的类型或协议(protocol)

ios - 如何绘制高斯模糊效果?

ios - 在 View 上显示复制菜单

json - 从 restful 调用中反序列化 JSON