草庐IT

tcp - UDP - 可选校验和

从我读到的关于UDP的内容来看,它没有错误处理,没有检查发送/接收数据的顺序,没有检查重复的数据包,没有检查损坏的数据包,显然不能保证发送的数据包是均匀的收到...考虑到这一点,为什么地球上实际上可以选择在UDP中使用校验和?因为如果您想确保以正确的顺序接收到发送的数据(并且没有损坏等),那么您肯定会使用TCP... 最佳答案 UDP数据包包含一个16位CRC校验和的字段,接收操作系统将使用它来检查数据包是否损坏。如果校验和存在但失败,则数据包将被静默丢弃。应用程序会注意到数据包消失并采取纠正措施。所有现代操作系统都默认启用UDP校

ios - sendAsynchronousRequest 说它在展开可选值时发现 nil

这是我的代码崩溃的部分:letbodyData="username="+username+"&password="+passwordletURL:NSURL=NSURL(string:"URLOFAPHPFILE")!letrequest:NSMutableURLRequest=NSMutableURLRequest(URL:URL)request.HTTPMethod="POST"request.HTTPBody=bodyData.dataUsingEncoding(NSUTF8StringEncoding);NSURLConnection.sendAsynchronousReque

swift - Swift 中的可选数组

下面最后一行代码给我这个错误:**Binaryoperator'+='cannotbeappliedtooperandsoftype'[AnyObject]'and'[(AnyObject)]'**varnewsArray:[AnyObject]?iflet_newsArray=newsArray{varmutableNewsArray=[AnyObject]()_newsArray+=mutableNewsArray}我不明白为什么会这样。newsArray和mutableNewsArray属于同一类型,newsArray似乎已正确展开。 最佳答案

ios - 为什么 NSSession dataTaskWithRequest 完成处理程序对错误参数使用隐式解包可选?

我是Swift的新手,遇到了一些让我感到困惑的事情。根据thedocumentationforNSSession,dataTaskWithRequest方法签名如下:funcdataTaskWithRequest(_request:NSURLRequest,completionHandlercompletionHandler:((NSData!,NSURLResponse!,NSError!)->Void)?)->NSURLSessionDataTask我的问题是,为什么completionHandler的NSError参数是一个隐式解包的可选参数,当该参数为nil完全有效时?我会期望

swift - 可选的绑定(bind)、捕获引用和闭包 [可能的错误]

我一直在努力让自己熟悉Swift,但我最近遇到了这个涉及可选绑定(bind)和在闭包上下文中捕获引用的特殊问题。给定以下声明(为清楚起见缩写了代码;最后提供了完整代码):classThing{funcgiveNameIfSize()->String?{/.../}}typealiasIterationBlock=(Thing)->BoolclassIterable{funciterate(block:IterationBlock){/.../}}Iterable对象可以存储Things的集合,并可以使用闭包迭代它们。现在假设我们想要找到设置了size属性的Thing对象的名称。我们可以

Swift:对可空/可选类型感到困惑

我是Swift和iOS编码的新手,一直在努力编写我的第一个应用程序。虽然我的编程背景非常重要,但我来自Python和C#背景,其中几乎所有内容都可以是None或null并且由用户在运行时检查一个空。我发现Swift中“可空类型与不可空类型”或“可选类型”的整个概念令人困惑。我理解核心概念是不能将声明为myObject类型的变量设置为nil。但是,如果我将它定义为myObject?类型,那么该值可以设置为nil。问题是,当我查看我的代码设计时,感觉代码中的一切都必须是“可空的”。感觉这要么意味着我没有正确思考我的代码应该如何运行,要么我缺少一些关键的理解。让我们举一个我感到困惑的最简单的

swift - 非可选类型...更好的说法是什么?

Optionals显然是Swift的一个基本特性,而且就其命名、描述和过程而言,它们本身有点乏味。但非可选类型:当然有更好的方法可以在对话和文档中清楚地表明某些东西是类型而不是可选的。显然“文字”是错误的词,因为它被大量用于文字值,但是有没有人见过另一种描述非可选类型的方式,这种方式在眼睛、耳朵和头脑上都很容易理解? 最佳答案 如果一个值是可选的,在许多情况下它应该从上下文中清楚。也没有关于如何命名可选和非可选的官方命名约定。在WWDC14上,他们还明确表示,使用Xcode的快速查看功能(Option+左键单击或三指点击触控板)可以

ios - 升级到 swift 2.1 后,Swift 返回可选的 ("value")

我是swift的新手,刚刚学习了sqlite教程,它运行得很好,但在升级到swift2.1后,它在我的结果中附加了“可选”,我该如何摆脱它?查找数据功能@IBActionfuncfindContact(sender:UIButton){ifdatabase.open(){letquerySQL="SELECTaddress,phoneFROMCONTACTSWHEREname='\(name.text)'"letresults:FMResultSet?=database.executeQuery(querySQL,withArgumentsInArray:nil)ifresults!.

ios - swift 索引路径=可选(0)

我正在尝试使用swift构建我的第一个iOS应用程序。我被困在一个segue中,我想将行索引路径提供给下一页,但索引路径是“optional(0)”而不是“0”。有谁知道为什么?在代码中,有一个打印发送器。那个说“可选(0)”变量“viewController.passedValue”设置为0,真正的代码在注释后面有谁知道为什么它给出“Optional(0)”?代码:overridefuncprepareForSegue(segue:UIStoryboardSegue,sender:AnyObject?){letviewController=segue.destinationViewC

swift - 在 Swift 中链接可选

到目前为止,我一直在Swift2.1中像这样解包Optionals:@IBOutletvarcommentTextView:UITextView!ifletcomment=user["comment"]as?String{commentTextView.text=comment}我从来没有真正考虑过它,但我认为我这样做的原因是因为我担心如果user["comment"]返回的不是字符串:commentTextView.text=user["comment"]as?String如果user["comment"]不是String,赋值运算符左边的变量会被赋值并抛出错误还是赋值被跳过?