草庐IT

throw_move_assignable

全部标签

ios - Q re : cleaning up an an array without moving indexes

我正在尝试完成HackerRank'sAbbreviationchallenge在Swift中。我正在尝试确定给定的缩写是否可以用给定的字符串形成的诗人物理学。给你一个字符串和一个他们想用它组成的缩写。曲线球是您只能删除字符或更改它们的大小写...您不能交换它们的索引。我能够完成他们给我的字符串的大部分验证和清理,但我被困在只能删除字符但不能交换索引的部分。letabbrArray=abbreviation.characters.map({String($0)})varmatchingCharArray=capitalizedInputArray.filter({abbrArray.c

Swift 协议(protocol)扩展 : cannot assign to property: '' is a get-only property

我想我不明白协议(protocol)扩展应该如何工作。我试过这个:protocolP{varh:[String:Any]{setget}}extensionP{varh:[String:Any]{get{return[:]}set{}}}structS:P{init(){self.h=["o":"o"]}}我的目标是S具有P的属性,并且不需要在结构定义中重新声明它。但是,当我创建lets=S()时,s.h始终等于[:]而不是["o":"o"].当然,这是因为我的setter是空的,但是我不知道如何去做我想在这里实现的。感谢您的帮助。 最佳答案

swift - 尝试调整 sknode 的大小会产生错误 "Cannot assign to the result of this expression"?

我创建了一个名为level的SKNode子类,我试图更改它的大小,但是我收到错误“无法分配给该表达式的结果”。我做错了什么?classLevel:SKNode{overrideinit(){super.init()self.frame.size=CGSizeMake(width:100,height:100)//Cannotassigntotheresultofthisexpression 最佳答案 frame属性是只读的,如您在SKNode.h中所见@property(SK_NONATOMIC_IOSONLY,readonly)C

xcode - 如何在 Xcode 6.3.1 中模拟 'moving' 位置

尝试在Swift中训练时提取一些移动位置数据,而模拟器现在只有固定位置(伦敦、纽约等)。我认为您曾经能够模拟通过汽车或自行车的移动。是否可以模拟移动位置?谢谢 最佳答案 要模拟移动位置,请转到在iOS模拟器设置中选择下面的菜单(确保您的map首先显示在模拟器上然后执行以下操作)。调试->位置->选择“CityBicycleRide”或“FreewayDrive” 关于xcode-如何在Xcode6.3.1中模拟'moving'位置,我们在StackOverflow上找到一个类似的问题:

objective-c - Throwing 方法不能是@objc 协议(protocol)的成员,因为它返回类型为 'Bool' 的值

我收到以下错误:Throwingmethodcannotbeamemberofan@objcprotocolbecauseitreturnsavalueoftype'Bool';return'Void'oratypethatbridgestoanObjective-Cclass定义Swift协议(protocol)时也需要桥接到Objective-C:@objcpublicprotocolSaving{funcsave()throws->Bool}是否有其他方法可以定义返回Bool的Swift方法,可能会抛出错误并与Objetive-C兼容? 最佳答案

swift - "Cannot assign value of type ' 整数 ' to type ' 单位 ' "

letexpdate=NSUserDefaults.standardUserDefaults().objectForKey("expiration")as!NSDateletcalendar=NSCalendar.currentCalendar()letcomponents=calendar.components([.Day,.Month,.Year],fromDate:expdate)vartheyear=components.yearvarthemonth=components.monthstripCard.expMonth=themonthstripCard.expYear=th

ios - Swift ERROR : : Call can throw, 但未标记为 'try' 错误未处理

这个问题在这里已经有了答案:PlayingAudioinXcode7(2个答案)关闭6年前。我刚开始学习Swift,我想在我的代码中添加一首歌曲,以便在我按下按钮时播放它,但出现了该错误。如何解决这个错误?varbuttonAudioPlayer=AVAudioPlayer()@IBActionfuncbtnWarning(sender:UIButton){play()}overridefuncviewDidLoad(){super.viewDidLoad()}funcplay(){letbuttonAudioURL=NSURL(fileURLWithPath:NSBundle.mai

swift : Cannot invoke 'filter' with an argument list of type '(@noescape (Int) throws -> Bool)'

我遇到了这个错误:funccompactCoords(coords:[Int])->[Int]{returncoords.filter({(value)->Boolinreturnvalue!=0})}无法使用类型为“(@noescape(Int)throws->Bool)”的参数列表调用“filter”感谢您的帮助! 最佳答案 您的代码在Xcode7.1中运行良好。您可能不小心尝试在Xcode6.x中运行此代码?你可以像这样缩短你的函数:funccompactCoords(coords:[Int])->[Int]{returnco

properties - "Cannot assign to the result of this expression"- 如何设置可选变量的属性

我有一个关于Swift和可选属性的问题。假设我有以下代码:importFoundationclassMyClass:NSObject{varparent:MyClass?varstring:String?init(){super.init()}}letvariable:MyClass=MyClass()variable.string="variable"variable.parent?.string="parent"我在以下行中收到错误消息“无法分配给该表达式的结果”variable.parent?.string="parent"现在,我可以通过将问号替换为感叹号来抑制此错误,据我所知

swift - 如何让玩家在路径中 move 到另一边?

我希望当触摸开始时玩家(红色圆圈)move到圆形路径的另一侧。我已经让玩家跟随一条路径,但我还没有在互联网上找到我的问题的答案。overridefuncdidMoveToView(view:SKView){player=SKSpriteNode(imageNamed:"circulo")player.position=CGPoint(x:self.frame.width/2,y:self.frame.height/2-170)player.color=colorGrisplayer.colorBlendFactor=1player.size=CGSize(width:25,height