Swift2 Swift:实例成员不能用于类型
我试图在Swift2 Swift:实例成员不能用于类型,swift2,singleton,Swift2,Singleton,我试图在数据类中调用用户类中的变量,但出现了此错误 实例成员“user”不能用于类型“Data” 数据类别代码: import Foundation class Data { static let sharedInstance = Data() let user = Users() var id = (user.userId).string //Login.swift static let quarterlyEndpoint: String = "http:
数据
类中调用用户
类中的变量,但出现了此错误
实例成员“user”不能用于类型“Data”
数据
类别代码:
import Foundation
class Data {
static let sharedInstance = Data()
let user = Users()
var id = (user.userId).string
//Login.swift
static let quarterlyEndpoint: String = "http://anyapi/api/users/\(id)/quarterly/tasks"
// for prevent from creating this class object
private init() { }
}
var userId: Int {
guard let _userId = getId() else {
return 0
}
return _userId
}
用户
类别代码:
import Foundation
class Data {
static let sharedInstance = Data()
let user = Users()
var id = (user.userId).string
//Login.swift
static let quarterlyEndpoint: String = "http://anyapi/api/users/\(id)/quarterly/tasks"
// for prevent from creating this class object
private init() { }
}
var userId: Int {
guard let _userId = getId() else {
return 0
}
return _userId
}
更新
我可以调用该函数,但当我打印我的weeklyEnd
时,我会得到http://anyapi/api/users/(功能)/季度/任务
而不是http://anyapi/api/users/3/quarterly/tasks
let user = Users()
func getId() -> String
{
let id = String(user.userId)
return id
}
static let weeklyEndpoint: String = "http://anyapi/api/users/\(getId)/quarterly/tasks"
更新2
import Foundation
class Data {
static let sharedInstance = Data()
let user = Users()
let id:String?
let weeklyEndpoint: String?
// for prevent from creating this class object
private init() {
id = String((user.userId))
//Login.swift
weeklyEndpoint = "http://anyapi/api/users/\(id)/quarterly/tasks"
}
}
从
数据
类外部调用我的周结束点
时遇到问题。我尝试了数据。weeklyEndPoint
但它不起作用尝试在数据类中创建这样的方法
func getusrid ()-> String
{
var id = (user.userId).string
return id ;
}
无法从任何方法之外的实例变量获取值
编辑:
class Data {
static let sharedInstance = Data()
let id:String?
let quarterlyEndpoint: String?
let user = Users()
private init()
{
id = String((user.userId))
quarterlyEndpoint = "http://anyapi/api/users/\(id)/quarterly/tasks"
}
}
我如何从字符串中调用它?我曾尝试添加
\(getusrid())
,但我会得到“对类型“Data”使用实例成员“getusrid”;您是否打算使用类型“Data”的值?”错误哦,是的,这将是一个问题,对,我能建议的最好方法是使用您的私有init(){id=(user.userId)。string quartlyendpoint:string=”“}我可以调用它,但是我的打印输出是(函数)
,而不是3
(参见更新的帖子)你知道我如何修复它吗?不,这不是函数调用,只是告诉你getusrid是一个(函数)。