swift-protocols

    1熱度

    1回答

    考慮沿着這些路線的協議實現的東西協議靜態方法? class ThingBox<T: Thing>: Thing { var thing: T required init(thing: T) { self.thing = thing } static func *(lhs: Float, rhs: Self) -> Self { return Self(thi

    2熱度

    1回答

    我在嘗試將Self作爲協議一部分的泛型函數中的where子句的一部分時遇到問題。 例如,說我有這個協議和這個定義泛型函數: protocol Animal { associatedtype FoodSource func eat(_ food:FoodSource) } // The where clause specifies that T2 must conform

    1熱度

    3回答

    我想創建類型爲的變量Codable。稍後在JSONEncoder類中使用它。我想從下面的代碼應該可以正常工作,但它給我的錯誤: Cannot invoke encode with an argument list of type (Codable) . 如何聲明可編碼的變量JSONEncoder將採取無錯? struct Me: Codable { let id: Int le

    1熱度

    3回答

    所以我寫了一個簡單的協議: protocol PopupMessageType{ var cancelButton: UIButton {get set} func cancel() } ,並有customView: class XYZMessageView: UIView, PopupMessageType { ... } ,然後我目前有: class PopU

    0熱度

    2回答

    我正在嘗試使用一些更新命名屬性的默認方法創建一個協議。不幸的是如果我改變了方法變異的建議,然後我在使用了火法的角度得到一個錯誤,我得到一個錯誤Left side of mutating operator isn't mutable… protocol Weapon { var energy: Int { get set } var fireEnergy: Int { get }

    0熱度

    1回答

    深入研究函數式編程和整體快速我被多種處理方式所淹沒。在這種情況下,我希望struct採用Comparable,但可以有條件地切換哪些屬性在重載操作符中使用。 比方說,我有以下的,一個快速排序(從和合Yahel的Wenderlich FP教程),延長任何類似陣列,這將很容易適應我Collection的Student小號 struct Student { let name: String

    2熱度

    2回答

    我正在建造一個農場,所有可以種植的東西都符合Growable協議。當你種的植物,你可以調用這個FUNC: myFarm.planting<T: Growable>(qty: Int, of: T.Type) -> Farm 現在我想農場的每個實例有一個字典實例變種,如: var crops = [Growable.Type: Int] 的問題是,即使我使可擴展協議繼承Hashable,這不利於Gr

    0熱度

    1回答

    我有點卡住試圖爲我的UI元素定義一個容器。 正如我想要的東西,它封裝了一個非唯一的標籤,一個值,可以是任何可比的對象,被優先選擇的一個概念,我想出了以下協議: protocol OptionProtocol:Comparable { associatedtype Key:Comparable associatedtype Value:Comparable var k

    0熱度

    2回答

    我有一個協議內的函數,它將TableViewcell作爲參數。 protocol GoingButtonDelegate { func goingButtonPressed(cell: TableViewCell) } class TableViewCell: UITableViewCell { // Outlets @IBOutlet weak var goi

    1熱度

    3回答

    我在斯威夫特文件中聲明: protocol SocketManagerDelegate { func webSocketDidReceiveMessage(message:Message) func socketWasReconnected() func webSocketDidFailWithError(error:String) } import Found