Ich versuche, eine Variable aus der Liste meiner Users
Klasse in Data
Klasse zu nennen, aber ich diesen Fehler geworfenSwift: Instanzelement nicht auf Typen verwendet wird
Instanz Mitglied ‚Benutzer‘ kann nicht auf Art verwendet werden 'Daten'
Data
Klassencode:
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() { }
}
Users
Klassencode:
var userId: Int {
guard let _userId = getId() else {
return 0
}
return _userId
}
UPDATE
ich die Funktion aufrufen kann, aber wenn ich meine weeklyEnd
drucken würde ich http://anyapi/api/users/(Function)/quarterly/tasks
statt 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"
UPDATE 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"
}
}
erhalten
Ich habe Probleme, meine weeklyEndPoint
von außerhalb der Data
Klasse anzurufen. Ich habe versucht Data.weeklyEndPoint
, aber es funktioniert nicht
Wie kann ich es aus der Zeichenfolge nennen? Ich habe versucht, '\ (getusrid())' '' hinzuzufügen, aber ich würde eine "Verwendung von Instanz-Mitglied 'getusrid' auf Typ 'Data' bekommen, wollten Sie stattdessen einen Wert vom Typ 'Data' verwenden?" Fehler – noobdev
Oh ja, das wird ein Problem richtig sein, das Beste, was ich vorschlagen kann, ist Ihre private init() {ID = (user.userId) .string vierteljährlichEndpoint: String = "http: // anyapi/api/users/\ (ID)/vierteljährlich/Aufgaben " } –
und deklarieren Sie die ID und die vierteljährlichEndpoint Variablen früher –