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