0
我有必要在雨燕2.2堆栈数据结构是:雨燕2.2的Iterable堆栈数据结构
- 通用
- 具有传统的功能:
- 推()
- peek()
- pop()
- 除了具有以下功能:
- 可转位
- 可迭代
用来工作下面的代码,但现在我已经升级到2.2雨燕,代码不编译。错误消息是堆栈不符合SequenceType协议。我怀疑协议中增加了一些新功能,这些功能现在不需要在以前实施。
//
// Stack.swift
//
// Created by kaydell on 7/30/15.
// Copyright (c) 2015-2016 Kaydell Leavitt. All rights reserved.
//
import Foundation
public class Stack<T>: SequenceType {
private var values: [T] = []
public var count: Int {
return values.count
}
public subscript(i: Int) -> T {
return values[i]
}
public func push(t: T) {
values.append(t)
}
public func peek() -> T? {
let lastIndex = values.count - 1
if lastIndex <= -1 {
return nil
} else {
let t = values[lastIndex]
return t
}
}
public func pop() -> T? {
let lastIndex = values.count - 1
if lastIndex <= -1 {
return nil
} else {
let t = values.removeLast()
return t
}
}
}
我似乎无法弄清楚我需要从SequenceType协议实现什么,以使我的代码编译。
我喜欢Eclipse,在Java中编程时。如果一个Java接口需要实现方法,Eclipse会告诉你哪些方法需要实现,甚至可以根据请求为这些方法编写存根。
我使用的Xcode 7.3.1
确实雨燕2.2有一个堆栈数据类型的API?或者,有人可以帮我修复我的代码,以便它再次工作吗?