草庐IT

ios - Swift 良好编码实践 : If statement with optional type Bool

所以我一直在用Swift开发一个应用程序,今天我花了将近一个小时来调试一个问题,结果证明这是完全出乎意料的。这一切都源于下面的代码。if(hero.isAI){//isAIisaBool}问题是这个if语句总是返回true。所以我想也许我在某处将isAI设置为true但最后我意识到我将isAI声明为可选类型,如下所示。varisAI:Bool!应该是什么时候varisAI:Bool这导致if语句不检查isAI是否为真,而是检查它是否包含一个值。所以现在为了安全起见,我一定要像这样写我的if语句if(hero.isAI==true){//isAIisaBool}所以我的问题是,将来我有什

ios - 将 bool 保存到 NSUserDefaults 并使用 Swift 在 if 语句中使用它

我正在努力弄清楚如何使用Swift将boolean值保存到NSUserDefaults来执行if语句。我相信我知道如何将bool保存到NSUserDefaults,但对此的确认将不胜感激。这是我试图找出如何与swift一起使用的Objective-C代码。if(![[NSUserDefaultsstandardUserDefaults]boolForKey:@"onoroff"]){[[NSUserDefaultsstandardUserDefaults]setBool:YESforKey:@"onoroff"];}这就是我目前在Swift中所拥有的......ifNSUserDefa

objective-c - Objc 代码找不到在 swift 中定义的 Bool 变量

我在一个Swift文件中定义了一个var,但在另一个Objective-C文件中,当我尝试设置这个var时,编译器提示它找不到该var。我该如何解决这个问题?这是代码:swift:varisCreating:Bool!在对象中:SelectMemberViewController*ctrl=[[SelectMemberViewControlleralloc]init];ctrl.isCreating=YES然后编译器提示:在类型为“SelectMemberViewController”的对象上找不到属性“isCreating” 最佳答案

ios - 无法调用非函数类型的值'((成功 : Bool, 错误 : NSError?)抛出 -> Void)?)

我更新到Swift2和Xcode7并运行了迁移工具。然后我得到了很多错误。我坚持的一个是这个funcauthorizeHealthKit(completion:((success:Bool,error:NSError?)throws->Void)?){//1.SetthetypesyouwanttoreadfromHKStorelethealthKitTypesToRead=(array:[HKObjectType.quantityTypeForIdentifier(HKQuantityTypeIdentifierStepCount)])//2.Setthetypesyouwantto

ios - 如何将 bool 值链接到 UISwitch 的开/关状态?

我有一个UISwitch,我想在我编写的函数中控制一个bool值。我查看了UISwitch类型引用,它将开关的开/关状态属性列为on。我试图在一个Action中使用它:@IBActionfuncswitchValueChanged(sender:UISwitch){ifacsessabilitySwitch.on{//accessibilitySwitchistheUISwitchinquestionprintln("It'sTrue!")advice.isInProduction=Bool(true)//isInProductionisaattributeofaclass}else{

swift - 在 Swift 中创建随机 Bool

我需要在我的游戏中使用Swift创建一个随机boolean值。基本上,如果是(或1),则生成一个对象,如果否(或0),则生成另一个对象。到目前为止,正在查看thisquestion和这里的一个类似的,我发现了这个:letrandomSequenceNumber=Int(arc4random_uniform(2))现在它起作用了,但对我来说它似乎偏向0...就像可笑的偏向...这就是我使用该值的方式:if(randomSequenceNumber==0)//spawnobjectAelse//spawnobjectB有没有更好的方法使用随机boolean值来实现这个?那不是偏向某个值?更

ios - 在 Swift fileExistsAtPath(_ path : String, isDirectory isDirectory: UnsafeMutablePointer<ObjCBool​​>) -> Bool 只接受单个参数

下面示例中的方法fileExistsAtPath()仅接受单个参数。iffm.fileExistsAtPath(result,isDirectory:&isDir){确切的错误消息是:“调用中有额外参数‘isDirectory’”。知道哪里出了问题吗? 最佳答案 问题是isDirectory是UnsafeMutablePointer而不是UnsafeMutablePointer你提供。您可以使用以下代码:varisDir=ObjCBool(false)ifNSFileManager.defaultManager().fileExis

arrays - 无法将类型 'Meme!' 的值转换为预期的参数类型 '@noescape (Meme) throws -> Bool'

代码如下:@IBActionfuncdeleteMeme(sender:UIBarButtonItem){ifletfoundIndex=MemeRepository.sharedInstance.memes.indexOf(selectedMeme){//removetheitematthefoundindexMemeRepository.sharedInstance.memes.removeAtIndex(foundIndex)navigationController?.popViewControllerAnimated(true)错误发生在(selectedMeme)的.inde

swift - 将 Int 转换为 Bool

在Swift2.x中我相信我可以做到:letnumber=1letresult=Bool(number)print(result)//printsout:true但自从Swift3以来,我一直无法这样做,它给了我错误:Cannotinvokeinitialiserfortype'Bool'withanargumentlistoftype'(Int)'目前我正在使用扩展将Int转换为Bool但我想知道是否没有内置选项可以执行此操作。 最佳答案 不,有而且从来没有一个明确的内置选项用于将Int转换为Bool,请参阅thelanguage

swift - 如何转换 Swift Bool? -> 字符串?

给定一个Bool?,我希望能够做到这一点:leta=BoolToString(optbool)??""这会给我"true","false",或"".BoolToString有内置的吗?? 最佳答案 String(Bool)是最简单的方法。varmyBool=truevarboolAsString=String(myBool) 关于swift-如何转换SwiftBool?->字符串?,我们在StackOverflow上找到一个类似的问题: https://sta