swift - Swift 4:尝试连接两个字符串时,无法在属性初始化程序中使用实例成员“MAIN_URL”
问题描述
我正在尝试将字符串变量与文本连接,但我不断收到此错误:
import UIKit
public class GlobalClass {
private let MAIN_URL = "http://example.com"
private let GET_TOKEN_URL = URL(string: MAIN_URL + "loginUser") //here I get: Cannot use instance member 'MAIN_URL' within property initializer; property initializers run before 'self' is available
}
有没有什么办法解决这一问题?我要做的是在全局 swift 文件中声明这些常量,以便可以从其他类访问它们。我知道它们是私有的,但我将能够通过使用 getter 来获得它们的价值。
先感谢您!
解决方案
我想你需要
struct Globals {
static let MAIN_URL = "http://example.com/"
static let GET_TOKEN_URL = URL(string: Globals.MAIN_URL + "loginUser") //here I get: Cannot use instance member 'MAIN_URL' within property initializer; property initializers run before 'self' is available
}
MAIN_URL
不在允许您直接使用它的范围内,就像MAIN_URL
您可以做的那样
private let GET_TOKEN_URL = URL(string: GlobalClass().MAIN_URL + "loginUser")
推荐阅读
- javascript - JS 或 Angular 复制带有图像的文本
- sql - 生成数据到数据库
- php - 通过 session_start() 建立新会话后,如何消除虚拟包含语句上的警告消息?
- vue.js - 在一个查询中调用多个 axios 查询创建一个新的对象字段
- angular - 类型'可观察的
- powershell - 删除访问规则注册表不适用于 PowerShell
- javascript - 单击时显示/隐藏列表的元素,一次一个列表项(反应应用程序)
- visual-studio-code - vscode 忽略缩进设置并返回选项卡
- r - 根据 R 中一列下另一个数据帧值的最后两位数字过滤一个数据帧
- c# - DotNetBrowser:如何使用多个 IEngine?