আমি enumerateObjectsUsingBlock:
আমার দ্রুতগতিতে প্রয়োজনের জন্য ইদানীং প্রচুর ব্যবহার করছি, এবং BOOL *stop
গণনা ব্লকের ব্যবহার বুঝতে আমার খুব কষ্ট হচ্ছে ।
NSArray
শ্রেণী রেফারেন্স রাজ্যের
stop
: একটি বুলিয়ান মান একটি রেফারেন্স।YES
অ্যারেটির আরও প্রসেসিং বন্ধ করতে ব্লকটি মান নির্ধারণ করতে পারে।stop
যুক্তি বাইরে শুধুমাত্র যুক্তি। আপনার কেবলমাত্র এই বুলিয়ানটিকেYES
ব্লকের মধ্যে সেট করা উচিত ।
সুতরাং অবশ্যই আমি অঙ্কটি বন্ধ করতে আমার ব্লকে নিম্নলিখিতগুলি যুক্ত করতে পারি:
if (idx == [myArray indexOfObject:[myArray lastObject]]) {
*stop = YES;
}
আমি কি বলতে পারবে চলেছি থেকে স্পষ্টভাবে সেটিং না *stop
করতে YES
কোনো নেতিবাচক পার্শ্ব-প্রতিক্রিয়া নেই। অঙ্কটি অ্যারের শেষে স্বয়ংক্রিয়ভাবে নিজেকে থামিয়ে দেবে বলে মনে হচ্ছে। সুতরাং *stop
একটি ব্লক সত্যিই প্রয়োজনীয় ব্যবহার করা হয় ?
stop
পতাকাটি উপদেষ্টা; উদাহরণস্বরূপ, সমসাময়িক ক্ষেত্রে কিছু অপরিজ্ঞাত সংখ্যার পুনরাবৃত্তিগুলির জন্য গণনা অবিরত থাকতে পারে। উদাহরণস্বরূপ, আপনি__block
গণনার প্রতিটি পাসে নিঃশর্তভাবে একটি পরিবর্তনশীল সেট করা উচিত নয়stop
এবং তাড়াতাড়ি সমাপ্তির সময় ব্যবহার করার সময় এটি "শেষ" মান হিসাবে প্রত্যাশা করে । আপনার সবসময় "না, এই অবজেক্টটি ব্যবহার করুন" সেটিংসের সাথে জুড়ি দেওয়া উচিতstop = YES;
।