简体   繁体   English

RemoveFromRunningloop和Unschedule之间的区别

[英]difference between RemoveFromRunningloop and Unschedule

I have been doing some iOS development using Xamarin. 我一直在使用Xamarin进行一些iOS开发。 I am pretty new to this so excuse my bad terminology. 我对此很陌生,所以请原谅我的术语错误。

I have an EASession output and input stream I schedule and delegate as follow: 我有一个EASession输出和输入流,我计划和委托如下:

SESSION.InputStream.Delegate = new InputStreamDelegate(Input); ;
SESSION.InputStream.Schedule(NSRunLoop.Current,NSRunLoop.NSDefaultRunLoopMode);
SESSION.InputStream.Open();

According to the Apple developer documentation I should then do the reverse when I finish. 根据Apple开发人员文档,我应该在完成后进行相反的操作。 This is described here . 在这里描述。 Namely: 1) close 2) remove from run loop (using removeFromRunLoop) 3) release 即:1)关闭2)从运行循环中删除(使用removeFromRunLoop)3)释放

Now, I tried to use removeFromRunLoop which is "described" on the Xamarin API Documentation which gave me the error : 现在,我尝试使用Xamarin API文档中 “描述”的removeFromRunLoop ,它给了我错误:

'MonoTouch.Foundation.NSStream' does not contain a definition for 'removeFromRunLoop' and no extension method 'removeFromRunLoop' accepting a first argument of type 'MonoTouch.Foundation.NSStream' could be found 'MonoTouch.Foundation.NSStream'不包含'removeFromRunLoop'的定义,找不到扩展方法'removeFromRunLoop'接受类型为'MonoTouch.Foundation.NSStream'的第一个参数

I did found the Unschedule method which works well. 我确实找到了运行良好的Unschedule方法。

Can any one tell me what is the difference between them and also any clues as to why the removeFromRunLoop method didn't work? 谁能告诉我它们之间的区别是什么,以及为什么removeFromRunLoop方法不起作用的任何线索?

Thanks 谢谢

链接到的“ RemoveFromRunLoop”方法用于CADisplayLink,该方法与InputStream不相关。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM