草庐IT

nil-coalescing

全部标签

ios - Swift 自定义 UIViewController 的标签为 nil

这个问题在这里已经有了答案:IBOutletofanotherviewcontrollerisnil(1个回答)关闭7年前。我用xib定制了一个viewcontroller,这个viewcontroller有一个label。我已经把标签和xib关联起来了。但是当我使用这个标签时,它是零。我做错了什么?下面是我的代码。importUIKitclassMyViewController:UIViewController{@IBOutletweakvarlabel:UILabel!overridefuncviewDidLoad(){super.viewDidLoad()}overridefun

ios - 捕获所有 "unexpectedly found nil while unwrapping an Optional value"

我有一个大型swift项目,从JSON获取大量数据。很难检查每一个数据和平是否为零。有没有办法捕获所有这些nils,以便我的应用程序在遇到意外nils时不会崩溃?或者我必须在我拥有的所有数据中使用“ifletvariable=...”!谢谢 最佳答案 坏消息:是的,您应该始终检查可选项。好消息:有比iflet更实用的快捷方式。例如。您可以提供合理的默认值(使用“nil-coalescingoperator”)。letitemID=jsonData["itemID"]as?NSNumber??0letstringVariable=js

ios - NSURL 为有效 URL 返回 nil

我有一个googlemaps的有效URL,如果你在浏览器中运行它会显示map图像。但是,当我将它放入我的Swift代码中并尝试从String创建一个NSURL时,它返回nilleturlString="https://maps.googleapis.com/maps/api/staticmap?maptype=hybrid¢er=37.33233141,-122.0312186&path=color:0xff0000|weight:10|37.33233141,-122.0312186|21.422570,%2039.826190&markers=color:blue%7Cla

ios - 跳过 nil 值并继续执行其余代码

我有如下代码:forindexin0..我有一个名为parts的数组。有些部分有标题,有些则没有。因此,如果我运行代码,它总是会失败,因为在某些索引处会有nil值。我将如何构建它以仅附加现有标题?我正在考虑使用guardlet,但不确定如何实现。 最佳答案 您需要的是一个iflet语句来检查标题是否为nil,如下所示:forindexin0.. 关于ios-跳过nil值并继续执行其余代码,我们在StackOverflow上找到一个类似的问题: https://

ios - 在展开可选值 WKWebView 获取参数时意外发现 nil

我在WKWebView上工作,当我加载一个没有参数的url时,它工作正常funcloadAddress(lat:Double,lng:Double){letrequestURL=NSURL(string:"http://url.com/dev2/billboard/geo")letrequest=NSURLRequest(url:requestURLas!URL)webview.load(requestasURLRequest)}但我想用这样的获取参数发送用户的位置funcloadAddress(lat:Double,lng:Double){letrequestURL=NSURL(st

swift - 在 UIImage 中展开可选时发现 nil

我是swift的新手,不知道如何以编程方式更改UIImageView中的图片。到目前为止我已经试过了:ifletimage=UIImage(named:"mouse.jpg"){imageView.image=imageprint("imageset")}但它会在解包一个可选的致命异常时导致找到nil。mouse.jpg和swift文件在同一个文件夹下,可以在Xcode的inspector中设置为imageviewsimage。像这样将代码包装在另一个代码中:ifletiv=imageView{ifletimage=UIImage(named:"mouse.jpg"){iv.image

ios - UIImageView 在自定义 UICollectionViewCell 中返回 nil

上周我问了一个类似的问题,但我想我已经将问题范围缩小到更具体的问题所在。当我将collectionView.dequeReusableCellWithIdentifier("MenuCell",forIndexPath:indexPath)用作MenuCollectionViewCell时,自定义单元格正在加载并且看起来被正确调用“MenuCell”是我的自定义单元格和MenuCollectionViewCell的重用标识符是保存自定义代码的swift文件。通过调试代码,我确定没有加载UIImageView。我做了检查,这就是我想出的。为什么ImageView没有被加载并且只显示为ni

ios - 如何在函数中指定参数可以在 Swift 中为 nil

我知道我们需要在Swift中将函数的参数定义为既不是隐式解包可选也不是可选,以使其非零。但是我不确定隐式解包可选或可选之间更传统的是什么。我在看WWDC2014Swiftinteroperabilityindepth并且与幻灯片中显示的两个示例有点混淆。基本上是关于我们在定义函数时是否应该使用隐式可选参数或展开参数。视频示例下面是WWDC2014Swiftinteroperabilityindepth的截图(09:01)演讲者的引述是Youseeagainthisisanimplicitunwrappedoptional,sothatyoucanpassanilblockinhere.

ios - Java null 与 Swift nil

我来自使用NULL的Java/Android背景。现在我在做Swift/iOS,我对Swift的nil是什么意思感到困惑。我可以像Java中的NULL一样使用它吗?它的行为方式完全相同还是用法有所不同? 最佳答案 您可以将“null”和“nil”视为相同。语言是否包含可选值是一个单独的问题。Objective-C,有“nil”,但没有内置可选,而Swift有。类似地,Java有“null”,但没有隐式可选值,而Kotlin、Scala和Ceylon等几种JVM语言有,而且在Swift之前就有。 这是一篇比较Kotlin、Sc

ios - self.tabBarController!.viewControllers 返回 nil

我有一个TabBarController,它连接了四个不同的UIView。TabBarController由Controller.swift文件管理,看起来像这样importUIKitimportFirebaseclassController:UITabBarController{varfirebaseUser=String()overridefuncviewDidLoad(){super.viewDidLoad()//letallVC=self.tabBarController?.viewControllers//letSearchVC=allVC![1]as!SearchVC}ov