Junior — Middle
შეგიძლიათ ისაუბროთ RunLoop ციკლების სხვადასხვა რეჟიმებსა და მათი დანიშნულებაზე?
sobes.tech AI
პასუხი AI-სგან
iOS-এ RunLoop হল একটি ইভেন্ট প্রক্রিয়াকরণ চক্র, যা ইভেন্ট উত্স এবং টাইমারগুলি পরিচালনা করে। এটি বিভিন্ন মোডে (modes) কাজ করে, যা নির্ধারণ করে কোন ইভেন্টগুলি এই মুহূর্তে প্রক্রিয়াকরণ হবে।
RunLoop এর মূল মোডগুলি:
- ডিফল্ট মোড (NSDefaultRunLoopMode) — মূল মোড যেখানে RunLoop সাধারণ অবস্থাে কাজ করে এবং মানক ইভেন্টগুলি প্রক্রিয়াকরণ করে।
- UI ট্র্যাকিং মোড (UITrackingRunLoopMode) — যখন ব্যবহারকারী ইন্টারফেসের সাথে ইন্টারঅ্যাক্ট করে, যেমন UIScrollView স্ক্রোল করার সময়, তখন ব্যবহৃত হয়। এই মোডে, RunLoop ট্র্যাকিং সম্পর্কিত ইভেন্টগুলি প্রক্রিয়াকরণ করে যাতে স্লিপলেসন নিশ্চিত হয়।
- সাধারণ মোডগুলি (NSRunLoopCommonModes) — একাধিক মোডের সংকলন, যেমন ডিফল্ট এবং UI ট্র্যাকিং, যাতে সাধারণ মোডে নিবন্ধিত ইভেন্টগুলি একাধিক মোডে প্রক্রিয়াকরণ হয়।
মোডগুলির উদ্দেশ্য হল বিভিন্ন ধরণের ইভেন্টের প্রক্রিয়াকরণ আলাদা করা, যাতে উদাহরণস্বরূপ, স্ক্রোলিংয়ের সময় অন্য ইভেন্টগুলি প্রক্রিয়াকরণ না হয়, যা ইন্টারফেসকে ধীর করে দিতে পারে।
উদাহরণ: যদি আপনি চান যে টাইমার স্ক্রোলিংয়ের সময়ও কাজ করুক, তাহলে এটি সাধারণ মোডে যোগ করতে হবে:
RunLoop.current.add(timer, forMode: .common)
এইভাবে, RunLoop এর মোডগুলি অ্যাপ্লিকেশনের কার্যক্ষমতা অপ্টিমাইজ করতে অগ্রাধিকার এবং প্রক্রিয়াকরণে আসা ইভেন্টের ধরনগুলি পরিচালনায় সহায়তা করে।