草庐IT

swift - 使用 guard 检查 nil 而不隐式展开

我知道周围有一些类似的问题,但我找不到专门针对我的问题的问题。我有一个请求,我想检查是否存在error键。它不存在一切都很好,如果不存在我应该处理错误。目前,我实现如下:ifleterror=json["error"]{//handleerror}else{//handlesuccess}我想在这里使用guard语句来取消缩进成功案例。我想到的唯一方法是guardjson["error"]==nilelse{leterror=json["error"]!//handleerror}//handlesuccess但是我觉得!是错误的。还有其他方法吗? 最佳答案

ios - 错误 Nil 与预期的参数类型不兼容 '() -> Void'

这段代码:runAction(moveleft,completion:nil)给出错误:Nilisnotcompatiblewithexpectedargumenttype'()->Void'这是为什么? 最佳答案 你应该传递参数{}:runAction(moveleft,completion:{})根据this的建议回答。 关于ios-错误Nil与预期的参数类型不兼容'()->Void',我们在StackOverflow上找到一个类似的问题: https:/

swift - NSDateFormatter 总是返回 nil。

我正在尝试从DjangoRestFramework转换日期时间字符串,例如:“2014-10-28T18:14:32.457”转换为Swift字符串。我在playground中运行以下代码,但总是出现错误:fatalerror:在展开可选值时意外发现nilimportFoundationvarmydate="2014-10-28T18:14:32.457"letformatter=NSDateFormatter()formatter.locale=NSLocale(localeIdentifier:"en_US_POSIX")formatter.dateFormat="yyyy-MM-

ios - 使用 Swift 时出现错误 "nil requires a contextual type"

我想在代码中实现以下目标:classMyService{letmySubject=BehaviorSubject(value:nil)//....}不幸的是,我收到“nil需要上下文类型”错误。在我真正把东西放在那里之前,我希望这个主题是“空的”。那么我怎样才能将nil作为参数传递呢?我可以将它转换为我自己的类型以使其工作吗? 最佳答案 基于referenceforRxSwiftBehaviorSubject,init(value:)初始化器声明为publicinit(value:Element)其中value参数描述为:value

ios11- UIFont 返回 nil

我正在使用UIFont更改我的应用程序中的默认字体。该代码在iOS10及以下版本上运行良好,但在iOS11上返回nil,没有任何变化。我正在使用swift4这是我返回nil的代码:UIFont(name:"AIranianSans",size:20)你能帮帮我吗?怎么了? 最佳答案 尝试检查可用的字体forfamilyName:StringinUIFont.familyNames{print("FamilyName:\(familyName)")forfontName:StringinUIFont.fontNames(forFami

ios - 在 Swift 数组中过滤 nil 的更简洁方法

这个问题在这里已经有了答案:HowcanIremoveallnilelementsinaSwiftarray?(4个答案)关闭4年前。假设我有一个名为Animal的Swift对象。我有一组Animal对象,其中一些可能是nil。目前我正在这样做:arrayOfAnimal.filter({$0!=nil})作为![动物]由于强制展开,这感觉相当不靠谱。想知道是否有更好的方法来过滤掉nils。

swift - 如何将 nil 的可选值设置为空字符串?

这个问题在这里已经有了答案:WhenshouldIcompareanoptionalvaluetonil?(5个答案)关闭6年前。现在我使用上面的代码将可选值设置为空字符串(如果它为nil),如果它有值则将其解包。这只有三行代码,但这对我来说是一个非常常见的操作,所以我想知道是否有更优雅的方法来做到这一点?varnotesUnwrapped:String=""if(calendarEvent.notes!=nil){notesUnwrapped=calendarEvent.notes!}

ios - 展开可选值时意外发现 nil - 使用 ALAMOFIRE

我正在尝试将Alamofire用于JSON中的GET。当我使用一个URL时-它工作正常,当我使用另一个URL时,我在展开可选值时遇到错误。我似乎无法追踪错误的来源。我已将代码放在ViewDidLoad中以跟踪错误。我不知道它是否是收件人,他们想要某种授权。但我知道当我//它们时它不是println的cos-它仍然作为错误出现,代码如下:request(.GET,"https://api.doingdata.net/sms/send?api_service_key='APIKey'&msg_senderid=Edify-FYI&msg_to=&msg_text={otp|Edify-FY

swift - UICollectionView 问题 "fatal error: unexpectedly found nil while unwrapping an Optional value"

编辑:添加异常断点后(感谢大牛T),发现原来是我的cell.askingUsernameLabel.text=NSString(string:arr[indexPath.row])返回nil。这个问题的解决方案是在swift中,注册子类会覆盖你在Storyboard中所做的事情(如果使用Storyboard)。直接删除self.collectionView.registerClass(CollectionViewCell.self,forCellWithReuseIdentifier:"CollectionViewCell")一切顺利原创我真的迷失了这个:我试图在我的ViewContr

swift - 带有 nil searchResultsController 的 UISearchController

我将UISearchController与UITableView一起使用,并在我的基本ViewController上使用相同的TableView来显示搜索结果(没有将单独的搜索结果Controller指定为searchController=UISearchController(searchResultsController:nil)).然而,尽管将searchResultsController设置为nil,但当搜索处于事件状态时,一个空的透明_UISearchControllerView仍然出现在我的ViewController之上。有没有办法防止这种情况发生并使我的ViewContr