草庐IT

try_catch_all

全部标签

json - Swift Try/Catch NSJSON序列化

我正在运行带有trycatches的NSJSONSerialization命令,但当命令返回nil时它仍然失败。我的trycatch做错了什么?fatalerror:unwrappinganOptionalvalue发生在设置z的行。为什么catch不处理这个?funcreachForWebsite(){leturl=NSURL(string:"https://myURL")lettask=NSURLSession.sharedSession().dataTaskWithURL(url!){(data,response,error)indo{letz=tryNSJSONSerializ

swift 3 : How to catch error if NSCoder decodeX function decodes wrong value type?

Swift3改变了NSCoder的工作方式。正如其他SO问题所提到的,要解码Int或Bool等值类型,您必须使用特定函数。例如,decodeInteger用于解码Int值,如下所示:letvalue=decodeInteger(forKeykey:TestKey)但是,如果decodeInteger返回的值是String或Bool或Int以外的值怎么办?或者如果TestKey实际上映射为空,因为它包含错误的key数据怎么办?如何优雅地捕获这些错误? 最佳答案 在非整数键上使用decodeInteger会引发异常。遗憾的是,这是一个S

swift -/usr/bin/ld : cannot find -lstdc++ for Ubuntu while trying to "swift build" Perfect2 project

描述:我已按照Swift3的安装步骤进行操作和Perfect2我克隆了PerfectTemplatePerfect提出的测试项目,我试过swiftbuild错误信息:warning:minimumrecommendedclangisversion3.6,otherwiseyoumayencounterlinkererrors.Linking./.build/debug/PerfectTemplate/usr/bin/ld:cannotfind-lstdc++clang:error:linkercommandfailedwithexitcode1(use-vtoseeinvocation

ios - swift 2 : error when try to find with indexOf

在全局变量部分我有这个声明varfriends:NSArray=NSMutableArray()//becauseiusethemtosharedataintotwosegues这是我的tableView函数的起始代码:overridefunctableView(tableView:UITableView,didSelectRowAtIndexPathindexPath:NSIndexPath){self.tableView.deselectRowAtIndexPath(indexPath,animated:true)letcell:UITableViewCell=tableView.

ios - 枚举 : Count and list all cases (from outside! )

我在自己的文件(“MyEnum.swift”)中有这个枚举(Xcode10/Swift5):enumMyEnum:Int,CaseIterable{caseA=0caseB=1caseC=2caseD=3caseE=4//Eachcaseneedsitsownnumberanddescription!vardescription:String{switchself{case.A:return"abc"case.B:return"bcd"case.C:return"cde"case.D:return"def"case.E:return"efg"}}}...并希望将描述添加到PickerV

ios - 错误 "Call can throw, but is not marked with ' try' 错误未被处理”

这段代码出错“调用可以抛出,但没有标上‘try’,错误未被处理”我正在使用Xcode7.1最新的beta和swift2.0funccheckUserCredentials()->Bool{PFUser.logInWithUsername(userName!,password:password!)if(PFUser.currentUser()!=nil){returntrue}returnfalse 最佳答案 Swift2.0引入了errorhandling.该错误表明logInWithUsername:password:可能会引发错

ios - swift fatal error : 'try!' expression unexpectedly raised an error: Error Domain=NSCocoaErrorDomain Code=3840 "Garbage at end."

我的swift程序一直有这个错误,我正在使用PHP和MySQL作为数据库。我要将数据从数据库显示到TableView。之前是可以的,但是在模拟器上运行了几次之后,我一直遇到同样的错误classHome:UIViewController,UITableViewDelegate,UITableViewDataSource{@IBOutletweakvarbtnaddclass:UIButton!@IBOutletvartableView:UITableView!varvalues:NSArray=[]funcget(){leturl=NSURL(string:"http://localho

iOS Swift : Trying to use write image buffer to construct video, 未调用 finishWritingWithCompletionHandler。输出视频包含零字节

我试图只从静态图像中写入两帧来构建视频。我一直在绕过时间参数。似乎最后一步finishWritingWithCompletionHandler从未被调用(完成写入......永远不会输出)。只创建了一个零字节.mp4视频。并且没有发生错误。不知道为什么。这是我使用的代码:funccreateBackgroundVideo(CompletionHandler:(path:String)->Void){varmaybeError:NSError?letfileMgr=NSFileManager.defaultManager()letdocDirectory=NSHomeDirectory(

swift - Xcode 10.1 swift 4.2 运算符重载导致编译器警告 : "All paths through this function will call itself"

所以我突然收到这个编译器警告,它在swift3或(我认为)swift4.0上不存在。下面的代码重载+=运算符以执行向量增量:publicfunc+=(left:inoutCGVector,right:CGVector){left+=right}并产生警告,我很困惑任何人都可以阐明为什么会发出警告以及出了什么问题吗? 最佳答案 当您执行left+=right时,它会调用您定义的同一函数。换句话说,您的运算符重载函数+=(左:inoutCGVector,右:CGVector)将始终调用自身(无限递归)。你正在做类似的事情funcfoo(

ios - Firebase 商店 : trying to store to local file gives an error

当我尝试按照文档中的示例从Firebase存储中存储文件时,我收到以下错误:Optional(ErrorDomain=FIRStorageErrorDomainCode=-13000"Anunknownerroroccurred,pleasechecktheserverresponse."UserInfo={object=ProfilePicture/Jf2dFzI7LZNzQkOkdFfa3UWQJyH2.jpg,bucket=mapit-1333.appspot.com,NSLocalizedDescription=Anunknownerroroccurred,pleasechec