草庐IT

swift - 函数安全地分配一个可选的变量,或者分配默认值如果 nil : Could not cast value of type 'Swift.Int' to 'Swift.String'

你好!..我再次失败寻求帮助——希望这段代码+任何可能的答案都会对社区有所帮助。..所以我正在尝试制作一种方法,允许我安全地将可选值分配给lhs,例如:varcool_variable=risky_optional!,不必中断它所在的任何范围的流程..这样做的目的是减少控制语句,并且不会在强制解包时立即使程序崩溃(我花了很多时间试图设计好的代码不会自然地这样做)。..起初,我以为我已经成功了,因为一切都很完美......然后在我的第四轮测试中,我得到了Couldnotcastvalueoftype'Swift.Int'(0x105c52190)to'Swift.String'(0x10

swift 3 : Converting Data to String returns a nil value

将数据转换为字符串返回nil值。代码://thusunwrapstheimageifletimage=image{print("Savingimagedata")//don'tunwraphereifletdata=UIImagePNGRepresentation(image){letstr=String(data:data,encoding:.utf8)print(str)}}我不知道原因。另外,如何将字符串转换回数据? 最佳答案 这不起作用,因为当您将图像的字节解释为字符串时,该字符串无效。并非每个困惑的数据都是有效的utf8字

swift - navigationController 在 swift 中为 nil

我有两个Storyboard(Main和SB2)我在Main的Storyboard中有一个ViewController,在SB2中有一个我执行letSB2=UIStoryboard(name:"SB2",bundle:nil)letvc:UIViewController=self.SB2.instantiateViewControllerWithIdentifier("VC2")self.showViewController(vc,sender:self)在加载第二个ViewController并运行此命令后,它会打印nil:print(self.navigationControlle

ios - Nil 与预期的参数类型 'String' 不兼容

我目前正在将我的swift2.3代码转换为swift3,我在以下行中收到上述错误:setSharedPassword(nil,account:account,completion:completion)合适的解决方案是将nil替换为""吗?当我这样做时错误消失了。我正在寻找一个解释。请帮忙。 最佳答案 如果您的setSharedPassword函数的第一个参数是String类型,那么您将无法将其设置为nil,因为它不是可选的.如果你希望能够将它设置为nil,那么你可以为你的func做这样的事情:funcsetSharedPasswo

swift - 在从初始化程序返回 nil 之前,必须初始化类实例的所有存储属性

尽管我不断收到上述消息,但我正在尝试在类里面使用此代码。letfilePath:NSString!let_fileHandle:NSFileHandle!let_totalFileLength:CUnsignedLongLong!init?(filePath:String){ifletfileHandle=NSFileHandle(forReadingAtPath:filePath){self.filePath=filePathself._fileHandle=NSFileHandle(forReadingAtPath:filePath)self._totalFileLength=se

ios - revealViewController() 总是返回 nil

我在使用Xcode7.2和iOS9.2中的revealViewController时遇到了一些问题。我的应用程序从嵌入导航Controller的ViewController开始,以执行登录。登录后,或者如果存在登录token,我会使用以下代码跳转到嵌入导航Controller中的另一个ViewController:lethomePage=self.storyboard?.instantiateViewControllerWithIdentifier("HomeViewController")as!HomeViewControllerlethomePageNav=UINavigation

arrays - 是否可以从具有 nil 值的数组中删除重复值

数组可以是任何类型,例如letmyArray1=[1,2,3,1,2,1,3,nil,1,nil]letmyArray2=[1,2.0,1,3,1.0,nil]从数组中删除重复值后,新数组应该是:输出-[1,2,3,nil] 最佳答案 @Daniel作为通用函数的解决方案:funcuniqueElements(ofarray:[T?])->[T?]{returnarray.reduce([T?]()){(result,item)->[T?]inifresult.contains(where:{$0==item}){returnres

iOS Delegate 未设置并返回 nil (Swift)

当我尝试设置委托(delegate)时,结果为nil,并且无法弄清楚为什么委托(delegate)未正确设置。我有一个ViewControllerListViewController,我向其添加了一个subviewmusicPlayer。musicPlayer是一个UIView,它有一些按钮,点击时应该触发ListViewController中的操作。musicPlayer是这样设置的:protocolMusicPlayerControlsDelegate{funcplayPauseClicked()}classmusicPlayer:UIView{varmyDelegate:Musi

ios - ViewWillDisappear 导航/选项卡 Controller 的 nil 值

我需要在我的UITabController中重新配置UINavigationController的大小。当View加载时,这在viewWillAppear()中工作正常。但是,当我尝试在viewWillDisappear中调整大小时,我得到Nav/TabController的nil值。示例:overridefuncviewWillDisappear(animated:Bool){super.viewWillDisappear(animated)self.navigationController?.hidesBarsOnSwipe=false//poself.navigationCont

Swift:将任何对象转换为 Int64 = nil

我有一个问题。我想知道为什么会这样?vardict:[String:Any]=["intValue":1234,"stringValue":"sometext"]dict["intValue"]as?Int64//=nil(why)dict["intValue"]as?Int//=1234谁能告诉我为什么转换为Int64会返回nil?编辑部分:我已经简化了我的问题,但我认为这不是一个好主意。:)在我的特殊情况下,我将从WKScriptMessage的消息体。我知道在Dictionary的一个字段中有一个Int值可以是大于Int32。因此,如果我将此值转换为Int,它将适用于64位系统。