反应性可可信号不起作用



我在我的ViewModel中具有此功能,它返回一个信号,但内部块不起作用,我尝试添加突发点,但不会破裂。这是我的代码。

func executeLoginAPI() -> RACSignal {
            var sessionDataTask: NSURLSessionDataTask = NSURLSessionDataTask()
            return RACSignal.createSignal({
                (subscriber: RACSubscriber!) -> RACDisposable! in
              //I've added break point here but it doesn't break.  
                let manager: APIManager = APIManager.sharedInstance
                let parameters: NSDictionary = ["email": self.email, "password": self.password]
                sessionDataTask = manager.POST(APIAtlas.loginUrl, parameters: parameters, success: {
                    (task: NSURLSessionDataTask!, responseObject: AnyObject!) in
                    print(responseObject as! NSDictionary)
                    subscriber.sendNext(responseObject)
                    subscriber.sendCompleted()
                    }, failure: {
                        (task : NSURLSessionDataTask!, error: NSError!) in
                        /*if let task = task.response as? NSHTTPURLResponse {}*/
                })!
               let dispose: RACDisposable = RACDisposable(block: {
                    print("cancel request!")
                    sessionDataTask.cancel()
                    subscriber.sendCompleted()
                })
                return dispose
            })
    }

我像这样在我的ViewController上访问它

self.signinviewmodel.executeloginapi()

请给我一只手。谢谢!

,因为您仅创建了新信号但没有订阅。SignalProducer和Racsignal启动自己仅在订阅/开始后计算。

P.S。如果您在Swift上写了此操作的更好的SignalProducer

最新更新