我试图将结构添加到数组.我知道这是可能的.我在网站上的另一篇文章中看到过它.但我想知道是否有任何方法可以在不创建变量的情况下向数组添加结构.
例如:
struct Person {
var name: String
var surname: String
var phone: Int
var isCustomer: Bool
}
var contacts: [Person] = []
var person1: Person = Person(name: "Jack", surname: "Johnson", phone: 2, isCustomer: false)
var person2: Person = Person(name: "alex", surname: "a", phone: 3, isCustomer: false)
contacts.append(person1)
contacts.append(person2)
for contact in contacts {
print("\(contact.name)")
}
Run Code Online (Sandbox Code Playgroud)
在此代码中,我们使用person1并person2创建"联系人".但是如果你必须创建数百个联系人,那么设置所有这些变量会很烦人.
我试过的是这个:
struct Person {
var name: String
var surname: String
var phone: Int
var isCustomer: Bool
}
var contacts: …Run Code Online (Sandbox Code Playgroud) 我想为我的游戏创建一个简单的倒计时,当游戏开始时,我希望每秒调用一次此函数:
fun minusOneSecond(){
if secondsLeft > 0{
secondsLeft -= 1
seconds_thegame.text = secondsLeft.toString()
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试了这个:
var secondsLeft = 15
timer.scheduleAtFixedRate(
object : TimerTask() {
override fun run() {
minusOneSecond()
}
},0, 1000
) // 1000 Millisecond = 1 second
Run Code Online (Sandbox Code Playgroud)
但不幸的是,该应用程序停止了,第二次调用run函数
3周前,我才刚开始进行android开发和Kotlin,到目前为止,我对它的了解最多。
通过Xcode的快速操作,我使用了这一行,我认为类似的方法也可以在Kotlin中使用
setTimer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(minusOneSecond), userInfo: nil, repeats: true)
Run Code Online (Sandbox Code Playgroud) 有了这个Swift 3.0系列:
struct Person {
var name: String
var surname: String
var phone: Int
var isCustomer: Bool
}
var contacts: [Person] = []
contacts.append(Person(name: "Jack", surname: "Johnson", phone: 2, isCustomer: false))
contacts.append(Person(name: "Mike", surname: "Morris", phone: 3, isCustomer: true))
Run Code Online (Sandbox Code Playgroud)
我创建了一个包含两个结构的数组,每个结构包含4个变量.我可以打印这样的阵列中的单个对象:print(contacts[0].name)
但有什么办法可以打印所有Strings的的name部分一次?