Questions tagged «protocols»

(非)相关对象相互通信的一种通用方法。


9
如何创建自己的URL协议?(例如so://…)[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 2年前关闭。 改善这个问题 我见过: http://www... ftp://blah.blah... file://blah.blah... unreal://blah.blah... mailto://blah.blah... 您看到的第一个部分是什么http? 我可以自己注册吗?

3
Pragma和Cache-Control标头之间的区别?
我在Wikipedia上读到有关Pragma标头的内容: “ Pragma:no-cache头字段是供请求使用的HTTP / 1.0头。这是浏览器告诉服务器和任何中间缓存的一种手段,它想要的是资源的最新版本,而不是服务器告诉用户不要缓存资源。某些用户代理确实在响应中注意此标头,但是HTTP / 1.1 RFC特别警告不要依赖此行为。” 但是我不知道它做什么?是什么之间的差异Cache-Control,其值是头no-cache和Pragma其值也no-cache?

11
TCP和UDP之间的区别?
TCP和UDP有什么区别? 我知道TCP用于非时间紧迫的应用程序,而UDP用于需要快速传输数据的游戏或应用程序。我知道TCP用于HTTP,HTTP,FTP,SMTP和Telnet。我知道UDP用于DNS和DHCP。 但为什么?TCP和UDP的哪些特性使其对于各自的用例有用?


2
在Objective-C中将类的实例强制转换为@protocol
我有一个对象(UIViewController),该对象可能符合也可能不符合我定义的协议。 我知道我可以确定对象是否符合协议,然后安全地调用该方法: if([self.myViewController conformsToProtocol:@protocol(MyProtocol)]) { [self.myViewController protocolMethod]; // <-- warning here } 但是,XCode显示警告: warning 'UIViewController' may not respond to '-protocolMethod' 预防此警告的正确方法是什么?我似乎无法施展self.myViewController作为一个MyProtocol类。

8
二进制协议v。文本协议
有谁对二进制协议有一个很好的定义?文本协议实际上是什么?这些在导线上发送的比特之间如何比较? 维基百科对二进制协议的评论如下: 二进制协议是一种旨在或有望由机器而非人类读取的协议(http://en.wikipedia.org/wiki/Binary_protocol) 哦,加油! 更清楚地说,如果我有jpg文件,该文件将如何通过二进制协议发送,如何通过文本协议发送?当然是通过电线发送的比特/字节数。 归根结底,如果您查看一个字符串,它本身就是一个字节数组,因此这两种协议之间的区别应该取决于网上实际发送的数据。换句话说,关于原始数据(jpg文件)在发送之前如何编码。
94 text  binary  protocols 

4
如何要求协议只能由特定类采用
我想要这个协议: protocol AddsMoreCommands { /* ... */ } 仅由从该类继承的类采用UIViewController。该页面告诉我,我可以指定它仅由类(相对于结构)通过编写来采用 protocol AddsMoreCommands: class { } 但是我看不到如何要求它仅由特定的班级采用。该页面稍后讨论将where子句添加到协议扩展中以检查一致性,但我也看不到如何对其进行调整。 extension AddsMoreCommands where /* what */ { } 有没有办法做到这一点?谢谢!




13
如何检测浏览器的协议处理程序?
我创建了一个自定义URL协议处理程序。 http:// mailto:// custom:// 我已经注册了WinForms应用程序来做出相应的响应。这一切都很好。 但是我希望能够优雅地处理用户尚未安装自定义URL协议处理程序的情况。 为了能够做到这一点,我需要能够检测到浏览器的注册协议处理程序,我假设使用JavaScript。但是我一直无法找到一种方法来查询信息。我希望找到解决这个问题的方法。 感谢您提出的任何想法。

5
从常规方法调用协议默认实现
我想知道是否有可能实现这样的目标。 我有一个这样的游乐场: protocol Foo { func testPrint() } extension Foo { func testPrint() { print("Protocol extension call") } } struct Bar: Foo { func testPrint() { // Calling self or super go call default implementation self.testPrint() print("Call from struct") } } let sth = Bar() sth.testPrint() 我可以在中提供默认实现,extension但是如果Bar需要默认实现中的所有内容以及其他内容,该怎么办? 它在某种程度上类似于es中的调用super.方法,class可以满足实现每个属性等的要求structs。
82 swift  oop  protocols  swift2 


9
协议功能返回自我
我有一个协议P,它返回对象的副本: protocol P { func copy() -> Self } 和一个实现P的类C: class C : P { func copy() -> Self { return C() } } 但是,是否Self在出现以下错误时放入返回值: 无法将类型“ C”的返回表达式转换为类型“ Self” 我也试着回来C。 class C : P { func copy() -> C { return C() } } 这导致以下错误: 非最终类“ C”中的方法“ copy()”必须返回Self以符合协议“ P” 除了我class C以finalie做前缀的情况外,没有任何作用: …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.