gpt4 book ai didi

swift - 我怎样才能定义这个堆栈结构?

转载 作者:行者123 更新时间:2023-11-30 13:58:34 30 4
gpt4 key购买 nike

我想正确地创建这个堆栈结构。

如何定义“topItem”?

上面显示的“newstack”是否正确?

    struct Stack {
var Items:[String] = []



mutating func push (item:String){
Items += [item]
}

mutating func pop() -> String {
return Items.removeLast()
}

var topItem =`enter code here`

}

var newStack = Stack()

newStack.push("HistoryListController")
newStack.push("HistoryDetailViewController")
newStack.push("HistoryTimelineViewController")
newStack.push("HistoryChartViewController")

newStack.Items


if let topVC = newStack.topItem {
print("Top View Controller is \(topVC)")
//HistoryChartViewController
}

newStack.pop()

if let topVC = newStack.topItem {
print("Top View Controller is \(topVC)")
//HistoryTimelineViewController
}

我是 Swift 的初学者。这是我的第一个代码

最佳答案

首先,items 应该是小写。其次,不清楚您希望 topItem 返回什么。如果你想要最新的对象,你可以这样实现:

struct Stack {
var items = [String]()

mutating func push (item:String){
items += [item]
}

mutating func pop() -> String {
let result = items[0]
items.removeLast()
return result
}

var topItem : String? {
return items.last
}

}

var newStack = Stack()

newStack.push("HistoryListController")
newStack.push("HistoryDetailViewController")
newStack.push("HistoryTimelineViewController")
newStack.push("HistoryChartViewController")

newStack.topItem // "HistoryChartViewController"

newStack.items

如果您想要第一个对象,请将其更改为return items.first

关于swift - 我怎样才能定义这个堆栈结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33287217/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com