2016-03-27 23 views
-1

WatchKit uygulamasının arka plana gittiğinde, applicationWillResignActive delegesi yöntemini başlatır. Yöntem belgeleri, devam eden görevleri duraklatmak için kullanılabileceğini söylüyor.Dur yönteminin yürütülmesi - Swift

Dış yöntem kullanılarak durdurulmasını veya kırılmasını istediğim devam eden bir yöntem var. Bunu nasıl yaparım?

Örnek

func method1(){ 
// performing some actions 
} 

func breakMethod1(){ 
// running this method can stop (break) the execution of method1 
} 
+0

Farklı olaylarda "NSNotification" özelliğini kullanmayı denediniz mi? – dokun1

+0

@ dokun1 Bu durumda NSNotification'ı nasıl uygularım? yöntemleri yürütmek için daha önce denedim ama onları durdurmak için değil. –

+0

Sorunuzu doğru anlıyorsam, 'breakMethod1()' işlevini çağırmanın bunu durduracağını söylüyorsunuz, evet? Bu durumda, o zaman bunu tetiklemek için bir 'NSNotification' kullanın. Durum böyle değil mi? – dokun1

cevap

0

Bu, elbette, breakMethod1() kesinlikle method1() meydana gelen eylemi iptal böylece uygulama tasarlanmış olan varsayarak.

let notificationCenter = NSNotificationCenter.defaultCenter() 
notificationCenter.addObserver(self, selector: "breakMethod1", name: UIApplicationWillResignActiveNotification, object: nil) 

Ve şöyle tetiklenen geçirildikten sonra temizlik uğruna, ayrıca bu gözlemci kaldırmalısınız:

Öyle gibi method1() başında bir NSNotification için bir gözlemci kurmalıyım

notificationCenter.removeObserver(self, name: UIApplicationWillResignActiveNotification, object: nil) 
+0

tam olarak sorun - Metodu nasıl bir yöntemle mimarın nasıl sonlandırılacağını tam olarak bilmiyorum. –

+0

Devam eden yöntem daha sonra bu daha büyük bir sorundur. Bir uygulama mimarisi sorunundan daha fazlası olduğu için sorunuzu yeniden sormak/sorunuzu yeniden sormak isteyebilirsiniz. Yöntem kapalı olduğunda ne yapmaya çalıştığınıza bağlıdır. Ayrıca uygulamanızın durumunu ve uygulama aktif bir durumdan istifa ettiğinde bunu nasıl koruyabileceğinizi de göz önünde bulundurmalısınız. Elbette, karanlıkta ateş eden bu, yöntemlerin ne yaptığını bilmediğim için. – dokun1