Swift Array Type
<p>I think I should be more clear, here are my classes:</p>

<pre><code>    import Foundation
    import Alamofire

    public class BaseService&lt;T&gt;  : ServiceRequest {

        public var requestType: Alamofire.Method = .GET
        public var path: String = "/"

        var requireLogin:Bool = false

        var consumer:RequestInformer?


        public func requestSuccess&lt;T&gt;(request: Request, response: T) {
            consumer?.requestSuccess(request, response: response)

        }

        public func requestFailed(request: Request, error: NSError) {
            consumer?.requestFailed(request, error: error)
        }
    }

    extension BaseService where T:Sortable {

        func start() {
            if requireLogin {

            }
//problem is here, T is [CampaignModel] but I need CampaignModel class, not array.            NetworkManager.sharedInstance.sendRequest(self,ResponseListModel&lt;T&gt;.self)
        }
    }



    extension BaseService where T:NSObject {

        func start() {
            if requireLogin {

            }
            NetworkManager.sharedInstance.sendRequest(self,ResponseModel&lt;T&gt;.self)
        }
    }
</code></pre>

<p>Then I want to use BaseService like below:</p>

<pre><code>import Alamofire

public class ListCampaignService : BaseService&lt;[CampaignModel]&gt; {

    override init() {
        super.init()
        path = "/xxx/yyy.json"
        requestType = .GET
    }
}
</code></pre>

<p>That means ListCampaignService returns CampaignModel array. Bu I have to handle object return type rather than array, something like below</p>

<pre><code>import Alamofire

public class SomeOtherService : BaseService&lt;SomeClass&gt; {

    override init() {
        super.init()
        path = "/aaa/bbb.json"
        requestType = .GET
    }
}
</code></pre>