草庐IT

swift - 如何对没有任何指定初始值设定项的类进行子类化?

我正在尝试子类化MKPolyline.然而问题是,MKPolyline没有任何指定的初始值设定项。这是我尝试做的:importMapKitclassMyPolyline:MKPolyline{letlocations:[Location]init(locations:[Location]){self.locations=locationsvarcoordinates:[CLLocationCoordinate2D]=[]forlocationinlocations{coordinates.append(location.coordinate)}super.init(coordinate

ios - 在 Swift 初始值设定项中分配给常量

在我的Ball.swift文件中,我声明了以下变量:letr:Double=0现在我有以下初始化程序:init(x:Double,y:Double,radius:Double){self.r=radius}我收到以下错误:Cannotassignto'r'in'self'但是,在Apple的Swift文档中here,他们说:Youcanassignavaluetoaconstantpropertyatanypointduringinitialization,aslongasitissettoadefinitevaluebythetimeinitializationfinishes.我不

ios - 如果没有连接、Internet 或其他方式获取 URL 的内容,则 XMLParser 的子类会因 contentsOfURL 初始值设定项而崩溃

我正在尝试整理一个issue如果没有连接以获取指定URL的内容(例如,应用程序处于离线状态),提要解析框架(FeedKit)会崩溃。因此,它在App在线时有效,并且仅在线。每当我尝试使用父类(superclass)XMLParser的便利初始化程序实例化我的Parser类时convenienceinit?(contentsOfurl:URL)框架崩溃:为了尝试隔离问题并排除框架中引入的一些错误,我在一个干净的项目中重新创建了该问题:一个像魅力一样工作的解决方案,使用Foundation框架的普通vanillaXMLParser:letfeedURL=URL(string:"http:/

swift - 无法为泛型类型的子类调用初始值设定项

更新:问题和标题已根据针对初始问题所做的更改进行了重述。我有一个基类,它实现了一个用于创建新实例的通用类方法。该类方法的简化逻辑如下classMyBaseClass{requiredinit(_record:MyRecordType){println("EnteredMyBaseClass.init")//Initializebaseclassfromrecord}classfuncretrieveInstance(name:String,callback:(T)->()){letmyRecord:MyRecordType=...//Performfetchtogetarecordfo

ios - 无法为没有参数的类型调用初始值设定项 - Swift

我正在从objective-c转向swift,我想做的只是创建一个类的实例,以便我可以访问所述类的属性。varmyClassInstance=MyClass()print("lengthis\(myClassInstance.variableOne)")在这方面有些问题,但我收到错误Cannotinvokeinitializerfortype'MyClass'withnoarguments 最佳答案 你可以像下面这样创建类:classMyClass{varvariableOne:CGPointinit(variableOne:CGP

ios - 在易出错的初始值设定项 swift 1.2 中分配 let 变量

我有一个带有易错初始化器的结构,不是实例方法,而是一个初始化器。更新到1.2后,当我尝试在初始化程序中分配let属性时,收到以下错误Cannotassignto'aspectRatio'inself。我的代码如下:importFoundationpublicstructMediaItem{publicleturl:NSURL!publicletaspectRatio:Doublepublicvardescription:String{return(url.absoluteString??"nourl")+"(aspectratio=\(aspectRatio))"}//MARK:-Pr

ios - 如何在 Swift 中创建一个十六进制颜色字符串 UIColor 初始值设定项?

这个问题在这里已经有了答案:HowcanIcreateaUIColorfromahexstring?(49个答案)关闭7年前。我正在使用此代码从十六进制值创建UIColor。它运行完美。extensionUIColor{convenienceinit(red:Int,green:Int,blue:Int){assert(red>=0&&red=0&&green=0&&blue>16)&0xff,green:(netHex>>8)&0xff,blue:netHex&0xff)}}用法:vartextColor=UIColor(netHex:0xffffff)此代码非常适用于Int十六进制

ios - 在单元测试中使用不可用的初始值设定项模拟 Cocoa 对象

我正在使用Swift构建一个iOS应用程序,它使用苹果的CoreBluetooth框架通过低功耗蓝牙与外围设备通信。在对实现CBCentralManagerDelegate和CBPeripheralDelegate协议(protocol)的自定义Controller进行单元测试时,我提供了一个从CBCentralManager子类化的测试替身来模拟CoreBluetoothAPI的行为。在适当的时候调用Controller的委托(delegate)回调。到目前为止,这一直运作良好。但是当涉及到调用CBPeripheralDelegate回调时,需要传入一个CBPeripheral。通常

ios - RealmSwift 初始值设定项 - Xcode 修复它一直出错

当我想为一个类提供初始化程序时,我无法让Realm工作,Xcode不断地提示错误。我决定上传两个屏幕截图而不是代码片段,以便更容易看到错误我听从了建议并最终得到了这个最后一个错误是“使用未声明的类型‘RLMObjectSchema’”我用的是最新的0.99版本的RealmSwift 最佳答案 推荐的方法是创建成员便利初始化器,如下所示:classItem:Object{dynamicvarisBook:Bool=truedynamicvarnumberOfPages:Double=0dynamicvarisInForeignLang

java - 未为派生类调用静态初始值设定项

以下Java代码不调用类B的静态初始值设定项。为什么?代码:classA{static{System.out.println("Astaticinit");}publicstaticvoidf(){System.out.println("f()called");}}classBextendsA{static{System.out.println("Bstaticinit");}}publicclassApp{publicstaticvoidmain(String[]args){B.f();//invokestatic#16//Methodcom/db/test/B.f:()V}}程序输