আমি একটি ইউআইটিএবলভিউকন্ট্রোলারে সংযোগযোগ্য বিভাগের শিরোনামগুলি প্রয়োগ করছি।
এখানে প্রতি বিভাগে কত সারি দেখানো হবে তা আমি নির্ধারণ করছি:
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
return self.sections[section].isCollapsed ? 0 : self.sections[section].items.count
}
একটি কাঠামো রয়েছে যা বিভাগটির তথ্য 'আইসক্ল্যাপডস' এর জন্য একটি বুল সহ ধারণ করে।
এখানে আমি কীভাবে তাদের রাজ্যে টগল করছি:
private func getSectionsNeedReload(_ section: Int) -> [Int]
{
var sectionsToReload: [Int] = [section]
let toggleSelectedSection = !sections[section].isCollapsed
// Toggle collapse
self.sections[section].isCollapsed = toggleSelectedSection
if self.previouslyOpenSection != -1 && section != self.previouslyOpenSection
{
self.sections[self.previouslyOpenSection].isCollapsed = !self.sections[self.previouslyOpenSection].isCollapsed
sectionsToReload.append(self.previouslyOpenSection)
self.previouslyOpenSection = section
}
else if section == self.previouslyOpenSection
{
self.previouslyOpenSection = -1
}
else
{
self.previouslyOpenSection = section
}
return sectionsToReload
}
internal func toggleSection(_ header: CollapsibleTableViewHeader, section: Int)
{
let sectionsNeedReload = getSectionsNeedReload(section)
self.tableView.beginUpdates()
self.tableView.reloadSections(IndexSet(sectionsNeedReload), with: .automatic)
self.tableView.endUpdates()
}
সবকিছুই কাজ করছে এবং দুর্দান্তভাবে অ্যানিমেট করছে, তবে একটি প্রসারিত বিভাগটি সঙ্কুচিত করার সময় কনসোলে, আমি এই [দৃsert়তা] পেয়েছি:
[দৃsert়তা] প্রাক রিয়েলড ফার্স্টভিজিবলরো (0) এর জন্য নতুন গ্লোবাল সারি সূচক নির্ধারণ করতে অক্ষম
এটি একই খোলার অংশটি বন্ধ হয়ে যাওয়া (ধসে পড়া), বা আমি অন্য বিভাগটি খুলছি এবং পূর্বে খোলা বিভাগটি 'স্বয়ংক্রিয়ভাবে বন্ধ' করছি কিনা তা বিবেচনা না করেই এটি ঘটে।
আমি ডেটা দিয়ে কিছু করছি না; এটা অবিরাম।
কেউ কি অনুপস্থিত তা ব্যাখ্যা করতে সহায়তা করতে পারে? ধন্যবাদ