আপনি সুইফট হিসাবে পরিচিত ভাষাটি নিতে এবং এটির নাম পরিবর্তন করে "সুইচ উইথ এআরসি" করতে পারেন। তারপরে আপনি ঠিক একই সিনট্যাক্সের সাহায্যে "সুইফট উইথ জিসি" নামে একটি নতুন ভাষা তৈরি করতে পারেন, তবে কখন অবজেক্টগুলি বাতিল করা হবে সে সম্পর্কে কম গ্যারান্টি দিয়ে।
এআরসি সহ সুইফটে, একবার রেফারেন্স গণনা 0 হলে অবজেক্টটি চলে যাবে। আবর্জনা সংগ্রহের সাথে, যতক্ষণ না আপনার দুর্বল রেফারেন্স থাকে আপনি অবজেক্টটিকে "পুনরুদ্ধার" করার জন্য সেই দুর্বল রেফারেন্সটিকে শক্তিশালী রেফারেন্স হিসাবে নির্ধারণ করতে পারেন। (সুইফটে, একবার রেফারেন্স গণনা 0 হলে দুর্বল উল্লেখগুলি শূন্য হয়); এটি একটি প্রধান পার্থক্য।
এবং অবশ্যই এআরসি সহ সুইফ্ট গ্যারান্টি দেয় যে শেষ রেফারেন্স গণনাটি হত্যার সাথে সাথে অবজেক্টটি হ্রাস করা হবে। উদাহরণস্বরূপ, আপনার কাছে ফাইল রাইটার শ্রেণি থাকতে পারে, যেখানে একই সময়ে দুটি ফাইলকে একই ফাইলটিতে লেখার অনুমতি দেওয়া হয় না। এআরসি সহ সুইফটে আপনি ওল্ড রাইটার বলতে পারেন = শূন্য; newWriter = ফাইল রাইটার (...) এবং আপনি জানেন যে নতুন ফাইল রাইটার কেবল পুরানোটি মুছে ফেলার পরে তৈরি করা হবে (যদি আপনি অন্য কোনও রেফারেন্স চারপাশে রাখেন না); জিসি সহ সুইফটে এটি কাজ করবে না।
আর একটি পার্থক্য হ'ল "সুইফ্ট উইথ এআরসি"-তে, কেবলমাত্র শক্তিশালী রেফারেন্স চক্রের মাধ্যমে উল্লেখ করা অবজেক্টগুলি আসলে বাস্তবে পৌঁছনীয় নয়, অবনমিত না হওয়ার গ্যারান্টিযুক্ত ।
deinit
একটি কীওয়ার্ড হিসাবে উপস্থিতি এবং এর সাথে যুক্ত শব্দার্থবিজ্ঞানগুলি প্রকৃতপক্ষে বাস্তবায়নের পরিবর্তে ভাষাতে রেফারেন্স গণনাকে স্কোয়ার হিসাবে গণ্য করে।