草庐IT

ios - CLLocationManager:在展开可选值时意外发现 Nil

这是我在ViewController.swift中的代码:importUIKitimportAlamofireimportSwiftyJSONimportMapKitimportCoreLocationimportTwitterKitclassViewController:UIViewController,MKMapViewDelegate,CLLocationManagerDelegate{@IBOutletweakvarmyMap:MKMapView!@IBOutletweakvarcounterLabel:UILabel!varmanager=CLLocationManager(

swift - AVaudioPlayer 返回 nil

我不知道该怎么办了。下面的代码在audioPlayer=AVAudioPlayer(contentsOfURL:newPath,error:&err)上崩溃这是我传递的文件的URLfile:///var/mobile/Containers/Data/Application/1174C37F-CB78-4AB5-9C69-E1B906B48D97/Documents/Rocket_002.mp3我也试过通过NSData传递文件,但它也不起作用。importAVFoundationclassPlayer:NSObject,AVAudioPlayerDelegate{varaudioPlay

ios - IBOutlet 等于 nil

我刚刚尝试将我的UIWebView与UIViewController连接起来,当我启动应用程序时出现错误,这意味着UIWebView等于nil。可能是什么问题? 最佳答案 如果您只是引用了AuthViewController(),但根本没有引用Storyboard,您就会看到这种行为。这是因为当您简单地创建一个AuthViewController的实例时,它无法知道该类与Storyboard中的哪个场景相关联。因此,所有IBOutlet引用都将为nil。相反,如果您以编程方式过渡到这个场景,您可以使用它的“StoryboardID”

string - Swift:String 不能为 nil,那么为什么 stringByAddingPercentEncodingWithAllowedCharacters 可以为 nil?

这个问题在这里已经有了答案:WhyisthereturnvalueofString.addingPercentEncoding()optional?(2个答案)关闭6年前。我对Swift比较陌生,一直在研究可选变量。这是我遇到的问题:funcescape(s:String)->String{ifs==nil{return""}returns.stringByAddingPercentEncodingWithAllowedCharacters(.URLHostAllowedCharacterSet())}编译器提示:'String'类型的值永远不能为nil,不允许比较这是引用ifs==n

swift - 评估 Swift 的 Bool?一行中的 true/false/nil?

我有很多这样的代码:ifletx=optbool{returnf(x)}else{returnfalse}这可以在一行中表达吗? 最佳答案 以下语句等同于您的代码:returnoptbool.map(f)??false如果optbool==nil那么.map(f)返回nil,和nil-coalescingoperator??false改变了为false。如果optbool!=nil那么.map(f)返回f(optbool!),这也是nil-coalescing运算符的结果。 关于swif

ios - 如何修复 Nil 与预期参数类型 'UIColor' 不兼容

我是新手,正在学习SpriteKit教程,但遇到错误。Xcode7不喜欢我在调用super.init时将颜色设置为“nil”:importFoundationimportSpriteKitclassCard:SKSpriteNode{requiredinit(coderaDecoder:NSCoder){fatalError("NSCodingnotsupported")}init(imageNamed:String){letcardTexture=SKTexture(imageNamed:imageNamed)super.init(texture:cardTexture,color:

ios - 当文本字段等于 nil 时隐藏按钮,当不为 nil 时显示

在我的代码中,当ViewController显示时按钮被隐藏,因为文本字段是空的。但是,当文本字段不再为空时,按钮应该会显示。这些按钮没有与我的代码一起显示-我做错了什么?letallInputValues=nameInput.text!+middleInput.text!+surnameInput.text!ifallInputValues==""{nextButton.hidden=truefinishButton.hidden=true}else{nextButton.hidden=falsefinishButton.hidden=false}希望你能帮助我

swift - 为什么在传递给具有可选类型的函数参数时强制使用 nil 的 uwrapped 类型不会崩溃?

这个问题在这里已经有了答案:Swift3incorrectstringinterpolationwithimplicitlyunwrappedOptionals(1个回答)关闭5年前。我不明白为什么类型系统让我这样做?换句话说,我预计当foo被传递给函数时它会崩溃。varfoo:String!funcsomeFunction(_bar:String?){print("--\(bar)--")}someFunction(foo)=>writes"--nil--"

ios - 数组的前 n 个元素(可以为 nil)

我想检索一个数组的前n元素,它可以是nil也可以少于n个元素。有没有一种“快速”的方法来做到这一点?这个有效:n=2array=[1,2,3,4,5]array.prefix(upTo:2)//[1,2]但我也希望它与array=[1]//Iwanttoget[1]或array=nil//Iwantnilasreturn谢谢! 最佳答案 您可以使用Optional.map和Sequence.prefix:letn=2letarray:[Int]?=[1,2,3,4,5]letfirstN=array.map{Array($0.pre

ios - nil 合并运算符 '??' 的左侧具有非可选类型 'String' ,因此从不使用右侧

我有下面的代码,我试图用它来初始化一个变量并对它执行一些操作。letformattedPointsValue:String?self.formattedPointsValue=model.pointUnitsEarned.stringValueWithWhiteSpaceThousandSeperator()+""+"model.name".localized(in:.name)??.none但是我收到了警告Leftsideofnilcoalescingoperator'??'hasnon-optionaltype'String',sotherightsideisneverused.当