1. [Swift] 複数のprotocolを実装した引数を受け取る

    以前ならこのように書いていたものを、

    -(void)someFunc:(id<SomeDelegate, OtherDelegate>)multipleDelegate{}

    Swiftではジェネリクスを使ってこんなかんじで書きます。
    func someFunc<T where T:SomeDelegate,T:OtherDelegate>(multipleDelegate:T){}

  2. [Swift] optionalなprotocol

    定義はこんなかんじ。頭に「@objc」が必要です。

    @objc public protocol SomeDelegate{
    optional func someFunc()
    }

    呼び出しは、Swiftでは以下のように書けます。
    delegate?.someFunc?()

    以前のrespondsToSelectorのときとやってることは同じですが、Swiftだと1行ですっきり書けて良いですね。