সুইফট 4 এর সাথে, অ্যাপল একটি নতুন সংকলক সতর্কবার্তাটির মাধ্যমে পরামর্শ দেয় যে আমরা #selector
এই দৃশ্যের ব্যবহার এড়াতে পারি । এটি সম্পাদন করার জন্য নিম্নলিখিতটি আরও নিরাপদ উপায়:
প্রথমে একটি অলস ভার তৈরি করুন যা বিজ্ঞপ্তি দ্বারা ব্যবহার করা যেতে পারে:
lazy var didBecomeActive: (Notification) -> Void = { [weak self] _ in
// Do stuff
}
আপনি অন্তর্ভুক্ত করা প্রকৃত প্রজ্ঞাপন প্রয়োজন হলে শুধু প্রতিস্থাপন _
সঙ্গে notification
।
এরপরে, অ্যাপটি সক্রিয় হওয়ার জন্য আমরা বিজ্ঞপ্তিটি সেট আপ করি।
func setupObserver() {
_ = NotificationCenter.default.addObserver(forName: .UIApplicationDidBecomeActive,
object: nil,
queue:.main,
using: didBecomeActive)
}
এখানে বড় পরিবর্তনটি হ'ল একটি #selector
কল করার পরিবর্তে , এখন আমরা উপরে তৈরি করা ভেরিকে কল করি। এটি এমন পরিস্থিতিগুলি দূর করতে পারে যেখানে আপনি অবৈধ নির্বাচক ক্র্যাশ পান।
অবশেষে, আমরা পর্যবেক্ষক অপসারণ।
func removeObserver() {
NotificationCenter.default.removeObserver(self, name: .UIApplicationDidBecomeActive, object: nil)
}
NSNotificationCenter
। ধন্যবাদ!