标签: protocols

https协议和SSL证书之间的区别

我们在Web浏览器中使用的https协议和SSL证书有什么区别?

这些都不是用于加密客户端(浏览器)和服务器之间的通信吗?

ssl https protocols ssl-certificate

50
推荐指数
3
解决办法
6万
查看次数

从AnyObject扩展的协议和仅类协议之间有什么区别?

这两个宣言

protocol SomeProtocol : AnyObject {
}
Run Code Online (Sandbox Code Playgroud)

和这个宣言

protocol SomeProtocol : class {
}
Run Code Online (Sandbox Code Playgroud)

似乎使它只有类可以符合这个协议(即协议的实例是对象的引用),并没有其他效果.

它们之间有什么区别吗?一个人应该优先于另一个吗?如果没有,为什么有两种方法可以做同样的事情?

我正在使用最新发布的Xcode 6.3.1.

protocols class swift

49
推荐指数
5
解决办法
6358
查看次数

生成Protobuf文档?

有没有人知道使用.proto源文件生成Google Protobuf文档的好工具?

documentation protocols documentation-generation protocol-buffers

48
推荐指数
6
解决办法
2万
查看次数

Xcode:可以为Protocol接口所需的方法自动创建存根吗?

来自Eclipse/Java背景,我最喜欢的功能之一是能够快速存根接口所需的所有方法.在Eclipse中,我可以从源菜单中选择"覆盖/实现"来为接口的任何方法生成存根方法.

我想在Objective-C中做同样的事情.例如,如果我声明一个实现'NSCoding'协议的类,我想让Xcode自动生成实现此协议所需的方法.令我感到沮丧的是,我正在尝试实现的每个协议都需要查找然后复制/粘贴所需方法的签名.

我一直试图找出这是否可行,但还没有找到任何有希望的东西.这可能在XCode中吗?

ide xcode protocols interface objective-c

46
推荐指数
3
解决办法
3万
查看次数

Android/iOS - 自定义URI /协议处理

有没有办法在Android iOS中定义某种处理机制,允许我拦截以下任何一种:

myapp:///events/3/
- or -
http://myapp.com/events/3/
Run Code Online (Sandbox Code Playgroud)

我想"监听"协议或主机,并打开相应的Activity/ViewController.

如果这些可以尽可能在系统范围内,我也会喜欢.我想这将是iOS上的一个问题,但我理想情况下可以从任何应用程序中点击这两个方案中的任何一个,如超链接.Gmail,Safari等

android protocols manifest ios custom-url-protocol

46
推荐指数
2
解决办法
4万
查看次数

如何在协议扩展中定义初始值设定项?

protocol Car {
     var wheels : Int { get set}

     init(wheels: Int)

}

extension Car {
    init(wheels: Int) {
        self.wheels = wheels
    }
}
Run Code Online (Sandbox Code Playgroud)

on self.wheels = wheels我得到了错误

Error: variable 'self' passed by reference before being initialized
Run Code Online (Sandbox Code Playgroud)

如何在协议扩展中定义初始化程序?

protocols initialization swift swift-extensions swift2

45
推荐指数
3
解决办法
2万
查看次数

Swift 2在协议扩展中使用变异函数时出错"无法在不可变值上使用变异成员:'self'是不可变的

不知道这里发生了什么,这似乎应该是非常直接的.我有一个可变var的协议,一个带有变异函数的扩展.在testClass.testFunc中出现问题,当我尝试使用扩展中声明的mtkAnimQueAppend时,我得到这个错误:"不能在不可变值上使用变异成员:'self'是不可变的.

protocol MTKAnimateValueDelegate {
    var mtkAnimQue:[MTKAnimateValue]? {get set}
}

extension MTKAnimateValueDelegate {
    ///Adds element to que
    mutating func mtkAnimQueAppend(element:MTKAnimateValue) {

        if mtkAnimQue != nil {
          mtkAnimQue?.append(element)
        } else {
          mtkAnimQue = [element]
        }
    }
}

class testClass: MTKAnimateValueDelegate {

  var mtkAnimQue:[MTKAnimateValue]?

  func testFunc() {
    var animValue = MTKAnimateValue(fromValue: 10, toValue: 20, inSeconds: 2)
    animValue.isAnimating = true
    mtkAnimQueAppend(animValue) //ERROR: "Cannot use mutating member on immutable value: 'self' is immutable
  }

}
Run Code Online (Sandbox Code Playgroud)

protocols swift-extensions swift-protocols ios9 swift2

45
推荐指数
1
解决办法
1万
查看次数

星际争霸和帝国时代等实时战略游戏的协议如何?

我对协议(和游戏循环)如何适用于这些类型的游戏感兴趣; 任何指针或见解表示赞赏.

我猜主循环会有一个世界状态,每秒会提前几个"滴答",但是玩家的命令是如何执行的?什么样的数据需要来回传递?

language-agnostic protocols real-time

43
推荐指数
1
解决办法
1万
查看次数

IIS7的SPDY模块

我的目标是在IIS服务器上实施SPDY协议(GOOGLE的新实验协议).

SPDY是一个基于TCP的应用程序级协议,因此我猜我必须在TCP级别(套接字编程)工作,因为内置的扩展是针对HTTP的.

我的问题是,一旦我编写套接字编程代码来做同样的事情,我在哪里将它插入IIS7?WAS看起来是一个很好的候选人,如果是这样,我该怎么做呢?

iis-7 protocols spdy

43
推荐指数
1
解决办法
2万
查看次数

如何声明具有类型并实现协议的变量?

我的应用程序有一个详细视图控制器的协议,说明他们必须有一个viewModel属性:

protocol DetailViewController: class {
    var viewModel: ViewModel? {get set}
}
Run Code Online (Sandbox Code Playgroud)

我还有一些实现协议的不同类:

class FormViewController: UITableViewController, DetailViewController {
    // ...
}

class MapViewController: UIViewController, DetailViewController {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

我的主视图控制器需要一个可以设置为UIViewController实现DetailViewController协议的任何子类的属性.

不幸的是我找不到任何关于如何做到这一点的文档.在Objective-C中,它将是微不足道的:

@property (strong, nonatomic) UIViewController<DetailViewController>;
Run Code Online (Sandbox Code Playgroud)

似乎Swift中没有可用的语法来执行此操作.我最接近的是在我的类定义中声明一个泛型:

class MasterViewController<T where T:UIViewController, T:DetailViewController>: UITableViewController {
    var detailViewController: T?
    // ...
}
Run Code Online (Sandbox Code Playgroud)

但后来我得到一个错误,说"Class'MasterViewController'没有实现其超类的必需成员"

这似乎在Swift中应该像在Objective-C中一样容易,但是我找不到任何可以表明我如何去做的事情.

protocols swift

42
推荐指数
2
解决办法
9128
查看次数