草庐IT

swift - Swift 中一个简单类的初始值设定项出错

我正在尝试创建一个类(class)来学习单元测试。但是,我面临着一些我正在努力解决的问题。我的类(class):importFoundationclassMonster{varname:String{didSet(newName){self.name=validateName(newName:self.name)}}varlevel:Int{didSet(level){ifself.level100{self.level=100}}}varhitpoints:Int{didSet(newHP){print(self.hitpoints)ifself.hitpointsself.leve

ios - '不能在属性初始值设定项中使用实例成员 ‘allEvents’;属性初始值设定项在 ‘self’ 可用之前运行’错误

varallEvents:[String]=["SOUTHERNSTATESPASSLAWSTODISENFRANCISEBLACKS","THEODOREROOSEVELTELECTEDVICEPRESIDENT","WRIGHTBROTHERSFIRSTFLIGHT","SANFRANCISCOEARTHQUAKE","FORDINTRODUCESMODELT","WORLDWARIBEGINSINEUROPE","WORLDWARIENDS","TRDIES–CARNEGIEDIES","GERMANMONEYHYPERINFLATES","TREATYOFVERSAILLES,

swift - 协议(protocol)扩展类型自身与初始值设定项类型不匹配

假设出于学术目的,我更喜欢这样的表达方式someInt.asDouble而不是股票Double(someInt)由于所有各种Swift整数类型都符合IntegerType协议(protocol),并且因为似乎有一个Double()初始化程序适合所有这些int类型,我以为我可以这样:extensionIntegerType{varasDouble:Double{returnDouble(self)}}这是行不通的。我想知道为什么?我想知道是否有某种魔法可以让它发挥作用?可能是哪里?或者与self引用有关?我在playground的控制台中遇到的错误是:Playgroundexecutio

swift - NSString 上的便捷初始值设定项

当我尝试在NSString上快速创建一个便利初始化器时,它失败了error:cannotassigntovalue:'self'isimmutableself="(number)"extensionNSString{publicinit(fornumber:Int){self="\(number)"}}虽然在String上有一个类似的扩展extensionString{publicinit(fornumber:Int){self="\(number)"}} 最佳答案 NSString是一个类(引用类型),String是一个结构(值类

ios - Swift 2/Xcode 7.0 - 条件绑定(bind)的初始值设定项必须具有可选类型而不是 'nsmanagedobjectcontext'

刚刚从Xcode6.4更新到Xcode7.0。在我的项目中,我现在遇到了一个错误,我整晚都在尝试解决这个错误,但没有成功。错误信息是:条件绑定(bind)的初始化器必须有可选类型而不是'nsmanagedobjectcontext'错误出现在ifletmanagedObjectContext=self.managedObjectContext{在下面的代码行中两次funcpreloadData(){//RetrievedatafromthesourcefileifletcontentsOfURL=NSBundle.mainBundle().URLForResource("listofd

swift - 调用 AVAudioRecorder 的初始值设定项 - Swift 2.0

这似乎是我在过渡到Swift2.0时遇到的问题:我正在尝试初始化我的AVAudioRecorder并且设置参数(我以前设置为nil)将不再接受它。想法?*varsession=AVAudioSession.sharedInstance()do{trysession.setCategory(AVAudioSessionCategoryPlayAndRecord)}catch{}audioRecorder=AVAudioRecorder(URL:filePath,settings:nil)audioRecorder.meteringEnabled=trueaudioRecorder.pre

ios - 在 Swift 中使用嵌套的初始值设定项是不好的做法吗?

假设我有一个像这样的Swiftstruct设置:structUser{//Propertiesvarname:String?varusername:String!varemail:String?}现在,在我看来,有两种设计初始化程序的方法。这是第一个:init(username:String){self.username=username}init(username:String,name:String){self.username=usernameself.name=name}init(username:String,name:String,email:String){self.us

ios - UIView 初始值设定项 swift Xcode 6 beta 5

这个问题在这里已经有了答案:Classdoesnotimplementitssuperclass'srequiredmembers(4个答案)关闭8年前。xcode6测试版5错误:类“ClassName”未实现其父类(superclass)的必需成员上classClassName:UIView同样显示错误上init(frame:CGRect){super.init(frame:frame)//Initializationcodeself.backgroundColor=UIColor.clearColor()}覆盖声明需要“ovveride”关键字我在init之前放置了override

ios - NSCoding 在 Swift 的继承类中需要初始值设定项

我有符合NSObject和NSCoding的类Foo我希望能够与NSKeyedArchiver保持一致我想创建类Bar,Foo的子类,也将符合NSObject和NSCoding。我在理解如何在子类中创建requiredconvenienceinit?(coderaDecoder:NSCoder)时遇到问题。所以类Foo...classFoo:NSObject,NSCoding{letidentifier:Stringinit(identifier:String){self.identifier=identifier}overridevardescription:String{retur

swift - Swift 中的静态初始值设定项是否存在固有大小限制?

在一个类中,我有类变量,由具有静态成员的结构模拟,如下所示:internalclassDEAccountCheck:AccountCheck{privatestructStatic{staticvarmethodParameters:[String:(UInt16,[UInt16])]=[//Modulus+weightsindexedbymethodid."00":(10,[2,1,2,1,2,1,2,1,2]),"01":(10,[3,7,1,3,7,1,3,7,1]),"02":(11,[2,3,4,5,6,7,8,9,2]),"03":(10,[2,1,2,1,2,1,2,1,