私はこの質問をするためにスタックオーバーフロー時にアカウントを作成するまで、この回答のためにGoogleを検索しました。1つの変数、1つのクラスと2つの同じ関数swift
何らかの変数を持つクラスを保持するように変数をプログラミングし、同じ関数を2回呼び出す方法を教えてください。コード内で説明されています:
class Persons {
var oldName = ""
var oldAge = 0
var oldGender = ""
var name = ""
var age = 0
var gender = ""
func create(_ name:String, _ age:Int, _ gender:String) -> String {
if(age > 100) {
print("Can't create a person with an age that is over 100!")
return "Not created!"
}
if(gender == "Boy" || gender == "Girl") {
}
else {
print("Gender has to be a girl or a boy!")
return "Not created!"
}
self.name = name
self.age = age
self.gender = gender
self.oldName = name
self.oldAge = age
self.oldGender = gender
print("You just created a \(gender) called: '\(name)' with the age of: '\(age)'!")
return "Created!"
}
func modify(_ targetName:String, _ newName:String, _ newAge:Int, _ newGender:String) -> String {
if(age > 100) {
print("Can't modify a person with an age that is over 100!")
return "Not modified!"
}
if(gender == "Boy" || gender == "Girl") {
}
else {
print("Gender has to be a girl or a boy!")
return "Not modified!"
}
if(targetName != "" && targetName == self.name) {
self.name = newName
self.age = newAge
self.gender = newGender
print("You just changed \(oldName)'s gender from: \(oldGender) to: \(gender), \(oldName)'s name from: \(oldName) to: \(name) and \(oldName)'s age from: \(oldAge) to: \(age)!")
}
else {
print("Please enter a valid target name or create one!")
}
return "Modified!"
}
func delete(_ targetName:String) -> String {
if(name != "" && targetName == self.name) {
print("Deleted: \(name)!")
}
else {
print("Please enter a valid target name or create one!")
}
return "Deleted!"
}
}
var p = Persons()
p.create("Isak", 11, "Boy")
p.create("Sanne", 7, "Girl") // Here I create another person
p.delete("Isak") // But if I say delete 'Isak' it does not delete him because I created 'Sanne' above!
/*
It would work like this
p.create("Isak", 11, "Boy")
p.delete("Isak")
p.create("Sanne", 7, "Girl")
*/
助けてください。私は答えを見つけるために年を費やしました。詳細が必要な場合は返信して、もう少し詳しく説明しようと思います。
インスタンス化を理解できません!あなたはp = Person()によって人のインスタンスを1つだけ作成しました。次に、プロパティを変更するだけです。 –