草庐IT

SMB1Protocol

全部标签

json - 使用 Codable 协议(protocol)解析包含日期作为键的 Stock API

我正在尝试解析来自AlphaVantage的股票api。这是一个响应的样子:APIResponseDemo我设置了四个类用于解码和编码:股票元数据时间序列高开低收我认为问题出在时间序列类中,因为我想获取一个数组日期作为键,每个日期都包含开盘价、收盘价、高价、低值。这三个类都符合Codable协议(protocol)。我更改了枚举中​​键的值,以便它可以匹配正确的JSONResponse。varstocks=[Stocks]()overridefuncviewDidLoad(){super.viewDidLoad()view.backgroundColor=.redloadURL()}f

swift - `override` 在协议(protocol)中是什么意思?

我在标准库中看到了像some这样的奇怪东西operatorsforFloatingPoint(fullsourcecode)。protocolFoo:Bar{overridestaticfuncbaz()}我知道在覆盖某些父类(superclass)的open方法时这是必要的...但我从来不需要在协议(protocol)中这样做,我也不知道这意味着什么。 最佳答案 这意味着协议(protocol)声明了一个新成员来替换父协议(protocol)中的相同成员,尽管这与“阴影”不同(因此它与C#的new不完全相同)方法修饰符关键字,Sw

ios - 从 Swift 框架访问委托(delegate)协议(protocol)到 Objective C

我已经创建了Swift框架并集成到ObjC项目中。现在,我想在ObjC中传递/访问委托(delegate)处理程序。Swift框架包含带有关闭和提交按钮的UIViewController。ListViewController.swiftSwiftFrameworkpublicprotocolListHandler{funcsubmit(options:String)funcclose()}publicclassListViewController:UIViewController{publicvarhandler:ListHandler?@objcfuncdismiss(_sender

ios - @objc 协议(protocol)使 swift 编译器崩溃

我写了我的协议(protocol),它打算有一些@optional方法,但是swift编译器崩溃了。这有效:protocolSessionDelegate{//TODOtheseshouldallbeoptionalfuncwillOpenSession(session:Session);funcdidOpenSession(session:Session);funcdidFailOpenningSession(session:Session,error:NSError!);funcwillCloseSession(session:Session);funcdidCloseSessio

ios - 类型 'String' 不符合协议(protocol) 'NilLiteralConvertiblle'

这行代码:varerrorView=UIAlertView(title:errorTitle,message:errorString,delegate:self,cancelButtonTitle:"Cancel",otherButtonTitles:"OK",nil)重写自Objective-C代码:UIAlertView*errorView=[[UIAlertViewalloc]initWithTitle:errorTitlemessage:errorStringdelegate:selfcancelButtonTitle:nilotherButtonTitles:@"OK",ni

swift - Swift 中协议(protocol)的类型约束问题

我有一个协议(protocol)AProtocol,它有一些数据结构和一个协议(protocol)BProtocol,它有一个采取参数符合AProtocol的操作。代码是这样的:protocolAProtocol{//data}protocolBProtocol{funcaction(completionHandle:(Bool,[T]?)->())}当我实现这些协议(protocol)时-一个结构符合AProtocol,一个类符合BProtocol,我找不到满足编译器要求的方法。structAStruct:AProtocol{}classBClass:BProtocol{varstr

swift - 如何创建返回通用协议(protocol)类型的函数?

在下面的代码中,我有一个通用协议(protocol)Var,它有一个私有(private)实现类LambdaVar。现在我想要一个返回LambdaVar实例而不公开它的函数。但我找不到一种方法来定义返回通用协议(protocol)类型的函数。publicprotocolVar{typealiasValueTypevarvalue:ValueType{get}}structLambdaVar:Var{let_get:Void->Tinit(_f:Void->T){_get=f}varvalue:T{get{return_get()}}}publicfunctransform(v:T,f:

swift - Swift 中的协议(protocol)向下转换

我有以下情况,我有一个通用协议(protocol)A,它可以有从它继承的变体(例如B)和一个实现变体的类(C)。protocolA{}protocolB:A{varfoo:String{get}}classC:B{letfoo:String="foo"}现在,如果我有一个A类型的对象,但实际上是一个C,我怎样才能得到B中声明的内容?funcfoo(){letc:A=C()}如果我尝试按letb=casB进行转换,我会得到Cannotdowncastfrom'A'tonon-@objcprotocoltype'B'。 最佳答案 您的代

ios - NSCoding 协议(protocol)的变化

我刚刚回到8月份开始的iO的Swift应用程序开发。似乎发生了很多变化。现在我的NSCoding协议(protocol)不再有效,我找不到问题所在。实际上我知道,但我不知道如何用新协议(protocol)实现我的旧代码。这是我的旧init(coder:NSCoder):requiredinit(coder:NSCoder!){if(coder!=nil){//Variablesinitialization}else{//Defaultsvalues}super.init()}实际上,我不能再使用NSCoder!所以我无法检查是否有编码器,所以我是否必须设置默认值。问题是:当coder为

swift - 进一步约束来自 Swift 协议(protocol)的泛型函数

我有一个这样定义的Swift协议(protocol):protocolMyProtocol{funcgenericMethod(param:T)->()}我可以像这样在基类中实现泛型方法:classMyBaseClass:MyProtocol{funcgenericMethod(param:T)->(){println("Performinggenericmethodfortype\(T.self)")}}classMySubClass:MyBaseClass{...}到目前为止,还不错。我可以实现这个方法,它可以正常编译和运行。现在,我想做一些类似的事情,但在我的基类中,我想通过要求