আমি নিব থেকে কাস্টম টেবিল ভিউ সেল তৈরি করার চেষ্টা করছি। আমি এই নিবন্ধ এখানে উল্লেখ করছি । আমি দুটি সমস্যার মুখোমুখি হয়েছি।
আমি এটিতে টানা একটি ইউআইটিএবলভিউসেল বস্তু সহ একটি .xib ফাইল তৈরি করেছি। আমি এর একটি সাবক্লাস তৈরি করেছি UITableViewCell
এবং এটিকে ঘরের শ্রেণি এবং সেলটি পুনরায় ব্যবহারযোগ্য সনাক্তকারী হিসাবে সেট করেছি ।
import UIKit
class CustomOneCell: UITableViewCell {
@IBOutlet weak var middleLabel: UILabel!
@IBOutlet weak var leftLabel: UILabel!
@IBOutlet weak var rightLabel: UILabel!
required init(coder aDecoder: NSCoder!) {
super.init(coder: aDecoder)
}
override init(style: UITableViewCellStyle, reuseIdentifier: String!) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
}
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
}
ইউআইটিএবল ভিউ কনট্রোলারটিতে আমার এই কোডটি রয়েছে,
import UIKit
class ViewController: UITableViewController, UITableViewDataSource, UITableViewDelegate {
var items = ["Item 1", "Item2", "Item3", "Item4"]
override func viewDidLoad() {
super.viewDidLoad()
}
// MARK: - UITableViewDataSource
override func tableView(tableView: UITableView!, numberOfRowsInSection section: Int) -> Int {
return items.count
}
override func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! {
let identifier = "Cell"
var cell: CustomOneCell! = tableView.dequeueReusableCellWithIdentifier(identifier) as? CustomOneCell
if cell == nil {
tableView.registerNib(UINib(nibName: "CustomCellOne", bundle: nil), forCellReuseIdentifier: identifier)
cell = tableView.dequeueReusableCellWithIdentifier(identifier) as? CustomOneCell
}
return cell
}
}
এই কোডটি কোনও ত্রুটি মেনে চলে না তবে আমি যখন এটি সিমুলেটরটিতে চালিত করি তখন এটি দেখতে এটির মতো লাগে।
স্টোরিবোর্ডের ইউআইটিএবলভিউ কনট্রোলারে আমি সেলটির জন্য কিছু করি নি। খালি শনাক্তকারী এবং কোনও সাবক্লাস নেই। আমি প্রোটোটাইপ সেলে সেল শনাক্তকারী যুক্ত করার চেষ্টা করেছি এবং এটি আবার চালিয়েছি তবে আমি একই ফলাফল পেয়েছি।
আমি অন্য ত্রুটির মুখোমুখি হলাম, যখন আমি ইউআইটিএবলভিউ কনট্রোলারটিতে নিম্নলিখিত পদ্ধতিটি প্রয়োগ করার চেষ্টা করেছি।
override func tableView(tableView: UITableView!, willDisplayCell cell: CustomOneCell!, forRowAtIndexPath indexPath: NSIndexPath!) {
cell.middleLabel.text = items[indexPath.row]
cell.leftLabel.text = items[indexPath.row]
cell.rightLabel.text = items[indexPath.row]
}
হিসাবে নিবন্ধ আমি উল্লেখ দেখানো আমি পরিবর্তন cell
পরামিতি ধরন ফর্ম UITableViewCell
থেকে CustomOneCell
যা UITableViewCell আমার উপশ্রেণী হয়। তবে আমি নিম্নলিখিত ত্রুটি পেয়েছি,
নির্বাচক 'টেবিল ভিউ: উইল ডিসপ্লেকেল: ফরআউট ইন্ডেক্সপথ:' এর সাথে বেমানান টাইপ রয়েছে '(ওআইটিএলভিউ!, কাস্টমঅনসেল!, এনএসআইন্ডেক্সপথ!) -> ()'
এই ত্রুটিগুলি কীভাবে সমাধান করবেন সে সম্পর্কে কারও কোনও ধারণা আছে? এগুলি অবজেক্টিভ-সি-তে ভাল কাজ করেছে বলে মনে হয়েছিল।
ধন্যবাদ.
সম্পাদনা: আমি সবেমাত্র লক্ষ্য করেছি যে যদি আমি সিমুলেটারের অরিয়েন্টেশনটি ল্যান্ডস্কেপে পরিবর্তন করি এবং এটিকে আবার প্রতিকৃতিতে ফেরা করি, কোষগুলি উপস্থিত হবে! আমি এখনও বুঝতে পারি না কি হচ্ছে। আপনার কাছে তাত্ক্ষণিকভাবে সময় দেওয়ার জন্য সমস্যা থাকলে আমি এখানে একটি এক্সকোড প্রকল্প আপলোড করেছি।