Tôi gặp sự cố khi sử dụng NSTimer trong MonoTouch. Để bắt đầu với tôi chạy một NSTimer trong thread chính của tôi, mà làm việc. Tuy nhiên, tôi đã chuyển bộ đếm thời gian sang một chuỗi riêng biệt và tôi không bao giờ nhận được cuộc gọi lại. Tôi đoán điều này là bởi vì thread phong cách NET của tôi không phải là một vòng lặp chạy - nhưng tôi là khá mới để MonoTouch/iOS vì vậy không chắc chắn.Sự cố khi sử dụng NSTimer trong MonoTouch .NET thread
Tôi đã trích xuất mã cho một dự án thử nghiệm và có cùng một vấn đề. Đây là mã không thành công:
var thread=new Thread(StartTimer as ThreadStart);
thread.Start();
[Export("StartTimer")]
void StartTimer()
{
using(var pool = new NSAutoreleasePool())
{
timer=NSTimer.CreateRepeatingScheduledTimer(2,delegate { Twitch() });
Thread.Sleep(1000000); // do I have to yield here somehow?
}
}
void Twitch()
{
Debug.WriteLine("Twitch");
}
Fantastic, cảm ơn rất nhiều sự giúp đỡ của bạn. Điều đó làm việc hoàn hảo. – vlad259