草庐IT

protocol_version

全部标签

JDK环境变量配置成功,命令提示符(CMD)中,输入java、javac、java -version等没有反应

Java下载后,手动配置环境变量,并且配置好,但是在命令行中无论输入java的什么都没有反应;问题:安装JDK后,手动配置环境好JAVA_HOME,Path等环境变量,但是在命令行窗口输入java、javac、java-version等命令,命令行都无反应这里主要的问题就是环境变量出现了问题我们这里怎么查询是否配置成功呢?打开cmd(命令行窗口),在命令行中输入wherejava,可以查看环境变量中的Java环境配置; 如果没有配置成功会弹出这个提示,这种情况下,输入java-version也是会提示不是内部或者外部命令;一般如输入java-version没有反应是有配置环境变量,但是冲突了;

swift - 如何使用 Swift 的 'abstract class' 类协议(protocol)扩展访问方法中的静态变量

我一直在尝试使用此处建议的协议(protocol)和扩展在Swift中创建类似父类(superclass)的抽象行为:AbstractclassesinSwiftLanguage但是我不知道如何编写使用静态(类)变量的方法。例如,如果我想获取抽象形状类的周长:protocolShape{staticvarnumSides:Int{get}varsideLength:Double{get}}classTriangle:Shape{staticvarnumSides:Int=3varsideLength:Doubleinit(sideLength:Double){self.sideLeng

arrays - swift 和 NSCoding : Encoding an array of objects conforming to a class-only protocol

我有一个类StandardObject,它符合Object协议(protocol)。另一个类ObjectManager有一个名为objects的属性,它是一个包含Object实例的数组。StandardObject和ObjectManager都是NSObject的子类并且符合NSCoding。当我尝试在encodeWithCoder:中对ObjectManager的objects属性进行编码时,我收到一个错误:cannotconvertvalueoftype'[Object]'toexpectedargumenttype'AnyObject?'这是我的代码:对象管理器:classObj

Swift 为什么我的生成器协议(protocol)扩展不起作用?

我觉得我对Swift类型/协议(protocol)/泛型的认知已经溢出了。我一直在使用扩展“输入流字节”的模式,方法如下:extensionGeneratorTypewhereElement==UInt8{funcfoobar(){...}}它在过去适用于简单的东西。今天我正在玩以下游戏:protocolUnpackable{staticfuncunpack(inoutinput:IndexingGenerator)->Self}extensionUInt8:Unpackable{staticfuncunpack(inoutinput:IndexingGenerator)->UInt8

swift - "The Selector keyword has been deprecated in future versions of Swift"如何在没有编辑菜单的对话框中创建键盘快捷键

Cut/Copy/Paste/SelectAll/Undo/Redo的Swift2.1解决方案是here,但这现在会在Xcode7.3/Swift2.2中产生6个警告。Selector关键字在Swift的future版本中已被弃用。这是一个部分解决方案,它编译时没有针对剪切/复制/粘贴/全选的警告:ifNSApp.sendAction(Selector("cut:"),to:nil,from:self){returntrue}成为ifNSApp.sendAction(#selector(NSText.cut(_:)),to:nil,from:self){returntrue}不过Und

协议(protocol) : operator '===' cannot be applied to operands of type '_' and 'Self.T' 中的 Swift 泛型

我正在尝试使用Swift2构建一个简单的观察者混合。这里只是相关部分。protocolObservable{typealiasTvarobservers:[T]{getset}mutatingfuncremoveObserver(observer:T)}为了创建混入,我使用了一个扩展:extensionObservable{mutatingfuncremoveObserver(observer:T){letindex=self.observers.indexOf{$0===observer}iflet_=index{self.observers.removeAtIndex(index)

objective-c - Swift 无法将符合协议(protocol)的类作为函数参数传递给驻留在 Objective-C 文件中的函数

大家好,我是Swift的新手,但对Objective-C很有经验。我有一个项目同时使用Swift和Objective-C文件(桥接和所有)。假设我有一个名为“fooProtocol”的协议(protocol)和一个实现它的类“foo”。我正在尝试将Swift文件中类型为“fooProtocol”的对象作为参数传递给Objective-C文件中的函数。这是“tester”类中的Objective-C函数:-(void)setWithFoo:(id*)_foo{}这是Swift代码:varmyObject:fooProtocol=foo.init()varobjcObject:tester

ios - Swift 2.2 #selector for delegate/protocol 编译错误

这是我的代码:protocolCustomControlDelegate:AnyObject{funcbuttonTapped(sender:AnyObject)}classCustomControl:UIView{vardelegate:CustomControlDelegate?{didSet{aButton.addTarget(delegate,action:"buttonTapped:"),forControlEvents:UIControlEvents.TouchUpInside)}}从Swift2.2开始,我收到一个要求使用#selector的编译错误。但在这种情况下,我不

ios - Swift 协议(protocol)中的可选方法和重载

有没有办法覆盖Swift协议(protocol)中的可选方法?protocolProtocol{funcrequiredMethod()}extensionProtocol{funcoptionalMethod(){//dostuff}}classA:Protocol{funcrequiredMethod(){print("implementationinAclass")}}classB:A{funcoptionalMethod(){//为什么在UIKit中有类似的例子?protocolUITableViewDelegate:NSObjectProtocol,UIScrollViewD

swift - 如何在协议(protocol)扩展中设置委托(delegate)

我有多个显示相同类型单元格的ViewController。我想在这样的协议(protocol)扩展中设置委托(delegate):classProductsViewController:UIViewController,ProductShowcase{//otherproperties@IBOutletweakvarproductCollectionView:UICollectionView!vardataSource:DataSource!overridefuncviewDidLoad(){super.viewDidLoad()setupDataSource()setupCollec