টি এল; ডিআর
popViewController(animated:)
ফিরে আসে UIViewController?
, এবং সংকলক সেই সতর্কতা দিচ্ছে যেহেতু আপনি মানটি ক্যাপচার করছেন না। সমাধানটি হ'ল এটিকে একটি আন্ডারস্কোর এ নিয়োগ করা:
_ = navigationController?.popViewController(animated: true)
সুইফট 3 পরিবর্তন
সুইফ্ট 3 এর আগে, সমস্ত পদ্ধতির ডিফল্টরূপে "বাতিলযোগ্য ফলাফল" ছিল। আপনি কী পদ্ধতিটি ফিরে আসলেন তা ক্যাপচার না করলে কোনও সতর্কতা আসবে না।
সংকলকটিকে ফলাফলটি ক্যাপচার করতে হবে তা বলার জন্য আপনাকে @warn_unused_result
পদ্ধতির ঘোষণার আগে আপনাকে যুক্ত করতে হয়েছিল । এটি এমন পদ্ধতির জন্য ব্যবহৃত হবে যেগুলির পরিবর্তনীয় ফর্ম রয়েছে (প্রাক্তন sort
এবং sortInPlace
)। আপনি @warn_unused_result(mutable_variant="mutableMethodHere")
এটির সংকলকটি বলার জন্য যুক্ত করবেন।
তবে সুইফট 3 এর সাথে আচরণটি উল্টে গেছে। সমস্ত পদ্ধতি এখন সতর্ক করে যে রিটার্নের মানটি ধরা পড়ে না। আপনি যদি সংকলককে বলতে চান যে সতর্কতাটি প্রয়োজনীয় নয়, আপনি @discardableResult
পদ্ধতি ঘোষণার আগে যুক্ত করুন ।
আপনি যদি রিটার্ন মানটি ব্যবহার করতে না চান তবে আপনাকে স্পষ্টভাবে একটি আন্ডারস্কোরকে অর্পণ করে সংকলকটি বলতে হবে:
_ = someMethodThatReturnsSomething()
এটি সুইফট 3 এ যুক্ত করার জন্য প্রেরণা:
- সম্ভাব্য বাগ প্রতিরোধ (উদাঃ
sort
চিন্তা করে এটি সংগ্রহকে সংশোধন করে)
- ক্যাপচার না করার বা অন্য সহযোগীদের জন্য ফলাফল ক্যাপচার করার প্রয়োজনের সুস্পষ্ট অভিপ্রায়
ইউআইকিট এপিআই এর পিছনে রয়েছে বলে মনে হচ্ছে, @discardableResult
পুরোপুরি সাধারণ (যদি আরও সাধারণ না হয় তবে) popViewController(animated:)
রিটার্ন মান ক্যাপচার না করে ব্যবহার না করে।
আরও পড়ুন