আপনার নিজের থেকে সমস্ত মতামত সরানোর সর্বোত্তম উপায় কী?


87

আমি ভাবছিলাম এরকম কিছু কাজ করতে পারে:

    for (UIView* b in self.view.subviews)
    {
       [b removeFromSuperview];
    }

আমি প্রতিটি ধরণের মতামত মুছে ফেলতে চাই। ইউআইআইমেজেস, বোতাম, পাঠ্য ক্ষেত্র ইত্যাদি etc.


4
এটা চলবে. আপনার যদি একাধিক স্তরের সংক্ষিপ্তসার থাকে ... বা নাও হতে পারে তবে এ জাতীয় পুনরাবৃত্তিমূলক কাজটি করতে পারেন। আমি নিশ্চিত নই আপনি এর জন্য কী করতে চান।
ডাস্টিন

ওই কাজগুলো? আমি ভেবেছিলাম যে bতাড়াতাড়ি subviewsঅ্যারে থেকে সরানো হবে , একটি দ্রুত অঙ্কের লুপের মধ্যে একটি রূপান্তর ঘটায়, যা নিষিদ্ধ।
মাজিওড

4
@ মজিদ চেক সাবভিউর সম্পত্তিটি পরীক্ষা করুন: @ প্রপার্টি (ননোটমিক, রিডোনলি, কপি) এনএসআরএ * সাবভিউগুলি - এটি অনুলিপি হিসাবে ঘোষণা করা হয়, সুতরাং যখন আমরা সাবভিউগুলি মুছে ফেলি তখন আমরা সেই অ্যারেটি সংশোধন করি না (কারণ এটি একটি অনুলিপি)।
সর্বোচ্চ

4
@ ম্যাক্স: এটি ভুল। copyসুনির্দিষ্টভাবে উল্লেখ করা মানে এটি একটি কপি করে তোলে যখন সেট ; পাওয়ার বিষয়ে কিছুই নির্দিষ্ট করা হয়নি। এটি সম্ভবত একটি অনুলিপি ফিরে এসেছে সম্ভবত, তবে এটি সম্পত্তি সংজ্ঞাটির অংশ নয়।
jscs

@ ডব্লুআরঙ্কাঙ্ক্যাক্টর একমত, আপনি ঠিক বলেছেন যে কপির কীওয়ার্ডটির মূল্য পাওয়ার সাথে কোনও সম্পর্ক নেই (তবে আমি মনে করি এটি অন্তর্ভুক্ত)।
সর্বোচ্চ

উত্তর:


250
[self.view.subviews makeObjectsPerformSelector: @selector(removeFromSuperview)];

এটি আপনার বৈকল্পিকের মতো, তবে সামান্য খাটো।


এটি ছাড়া কী হবে - একই পদ্ধতি ব্যবহার করে? @ মজাইদ
হেমং

সাবউভিউ সরানোর জন্য মেকওবজেক্টস পারফর্মস্লেেক্টর এবং ম্যানুয়ালি লুপের মধ্যে কি কোনও পারফরম্যান্স (পারফরম্যান্স দ্বারা) রয়েছে?
গণপত



2

আপনি এটি ব্যবহার করতে পারেন

//adding an object to the view
view.addSubView(UIButton())

// you can remove any UIControls you have added with this code
view.subviews.forEach { (item) in
     item.removeFromSuperview()
}

ভিউ হল এমন দৃশ্য যা আপনি যেখান থেকে সমস্ত কিছু মুছতে চান। আপনি প্রত্যেকটি প্রতিবেদনটি forEach করে সরিয়ে দিচ্ছেন


আপনি কি আপনার উত্তর প্রসারিত করতে পারেন?
DᴀᴅᴇʀVᴀᴅᴇʀ

এটি কি পুনরুক্তি করার সময় কোনও সংগ্রহকে পরিবর্তিত করছে না?
mixtly87

0

সুইফ্ট 4 + এর জন্য। আপনি এতে একটি এক্সটেনশন করতে পারেন UIView। যখনই প্রয়োজন হবে ফোন করুন।

extension UIView {
    func removeAllSubviews() {
        subviews.forEach { $0.removeFromSuperview() }
    }
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.