{"id":31035,"date":"2023-01-19T01:54:34","date_gmt":"2023-01-18T20:24:34","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-im-getting-an-error-at-cellforrowat-and-im-not-sure-why\/"},"modified":"2023-01-19T01:54:34","modified_gmt":"2023-01-18T20:24:34","slug":"solved-im-getting-an-error-at-cellforrowat-and-im-not-sure-why","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-im-getting-an-error-at-cellforrowat-and-im-not-sure-why\/","title":{"rendered":"[Solved] Im getting an error at cellForRowAt and im not sure why"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-59026094\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"59026094\" data-parentid=\"59025983\" data-score=\"1\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p><code>cell.textLabel?.text<\/code> can only show a <code>String<\/code> object, not other objects. <\/p>\n<p>It will be <code>product.item<\/code> or <code>product.price<\/code> or <code>product.salesPrice<\/code> or all in one line. (based on your requirement). <\/p>\n<p>Make sure the value of <code>product<\/code> is not nil.<\/p>\n<pre><code>cell.textLabel?.text = \"\\(product.item) \\(product.price) \\(product.salesPrice)\"\n<\/code><\/pre>\n<p><strong>The full code you can try this:<\/strong><\/p>\n<pre><code>class ViewController: UIViewController, UIAdaptivePresentationControllerDelegate {\n\n    @IBOutlet weak var tableView: UITableView!\n\n    var items:[Product]? = []\n\n    \/\/ VIEW LOAD\n    override func viewDidLoad() {\n        super.viewDidLoad()\n\n        if #available(iOS 13.0, *) {\n            self.isModalInPresentation = true\n        }\n\n        getData()\n    }\n    override func viewDidAppear(_ animated: Bool) {\n        super.viewDidAppear(true)\n        getData()\n    }\n\n    override func viewDidDisappear(_ animated: Bool) {\n        super.viewDidDisappear(true)\n        storeData()\n    }\n    override var prefersStatusBarHidden: Bool {\n        return true\n    }\n    \/\/ ADD ITEMS\n    @IBAction func addButtonTapped(_ sender: Any) {\n        let alert = UIAlertController(title: \"Product Information\", message: nil, preferredStyle: .alert)\n        alert.addTextField { (itemTextField) in\n            itemTextField.placeholder = \"Item\"\n        }\n        alert.addTextField { (priceTextField) in\n            priceTextField.placeholder = \"Price\"\n        }\n\n        alert.addTextField { (salePriceTextField) in\n            salePriceTextField.placeholder = \"Sale Price\"\n        }\n\n        let action = UIAlertAction(title: \"Add\", style: .default) { (_) in\n            let item = alert.textFields?[0].text ?? \"\"\n            let price = alert.textFields?[1].text ?? \"\"\n            let salesPrice = alert.textFields?[2].text ?? \"\"\n\n            let product = Product(item: item, price: price, salesPrice: salesPrice)\n            self.addProduct(product)\n        }\n\n        alert.addAction(action)\n        present(alert, animated: true)\n        storeData()\n\n    }\n\n    func addProduct(_ product: Product) {\n        let index = 0\n        items?.insert(product, at: index)\n\n        let indexPath = IndexPath(row: index, section: 0)\n        tableView.insertRows(at: [indexPath], with: .left)\n        storeData()\n    }\n\n    \/\/STORE DATA\n    func storeData() {\n        UserDefaultUtil.saveData(products: items)\n    }\n\n    func getData() {\n        items = UserDefaultUtil.loadProducts()\n\n    }\n\n}\n\n\/\/EXTENSION\nextension ViewController: UITableViewDataSource {\n    func numberOfSections(in tableView: UITableView) -&gt; Int {\n        return 1\n    }\n\n    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -&gt; Int {\n        return items!.count\n    }\n\n    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -&gt; UITableViewCell {\n        let cell = UITableViewCell()\n        let product = items![indexPath.row]\n        cell.textLabel?.text = \"\\(product.item!) \\(product.price) \\(product.salesPrice)\"\n\n        cell.contentView.backgroundColor = UIColor(red:0.92, green:0.92, blue:0.92, alpha:1.0)\n        cell.textLabel?.textColor = UIColor(red:0.13, green:0.13, blue:0.13, alpha:1.0)\n        tableView.separatorColor = UIColor(red:0.13, green:0.13, blue:0.13, alpha:1.0)\n\n\n        return cell\n    }\n\n    func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) {\n        guard editingStyle == .delete else { return }\n        items?.remove(at: indexPath.row)\n        tableView.deleteRows(at: [indexPath], with: .fade)\n        storeData()\n    }\n}\n\nclass UserDefaultUtil {\n\n    private static let Key = \"savedData\"\n\n    private static func archivePeople(people : [Product]) -&gt; NSData {\n\n        return NSKeyedArchiver.archivedData(withRootObject: people as NSArray) as NSData\n    }\n\n    static func loadProducts() -&gt; [Product]? {\n\n        if let unarchivedObject = UserDefaults.standard.object(forKey: Key) as? Data {\n\n            return NSKeyedUnarchiver.unarchiveObject(with: unarchivedObject as Data) as? [Product]\n        }\n\n        return nil\n    }\n\n    static func saveData(products : [Product]?) {\n        let archivedObject = archivePeople(people: products!)\n        UserDefaults.standard.set(archivedObject, forKey: Key)\n        UserDefaults.standard.synchronize()\n    }\n\n}\n\nclass Product: NSObject, NSCoding {\n    var item: String?\n    var price: String?\n    var salesPrice: String?\n\n    required init(item:String, price:String, salesPrice: String) {\n        self.item = item\n        self.price = price\n        self.salesPrice = salesPrice\n    }\n\n    required init(coder aDecoder: NSCoder) {\n        self.item = aDecoder.decodeObject(forKey: \"item\") as? String\n        self.price = aDecoder.decodeObject(forKey: \"price\") as? String\n        self.salesPrice = aDecoder.decodeObject(forKey: \"salesPrice\") as? String\n    }\n\n    public func encode(with aCoder: NSCoder) {\n        aCoder.encode(item, forKey: \"item\")\n        aCoder.encode(price, forKey: \"price\")\n        aCoder.encode(salesPrice, forKey: \"salesPrice\")\n    }\n}\n<\/code><\/pre>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">7<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved Im getting an error at cellForRowAt and im not sure why <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] cell.textLabel?.text can only show a String object, not other objects. It will be product.item or product.price or product.salesPrice or all in one line. (based on your requirement). Make sure the value of product is not nil. cell.textLabel?.text = &#8220;\\(product.item) \\(product.price) \\(product.salesPrice)&#8221; The full code you can try this: class ViewController: UIViewController, UIAdaptivePresentationControllerDelegate { @IBOutlet &#8230; <a title=\"[Solved] Im getting an error at cellForRowAt and im not sure why\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-im-getting-an-error-at-cellforrowat-and-im-not-sure-why\/\" aria-label=\"More on [Solved] Im getting an error at cellForRowAt and im not sure why\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[471,522,1619,5785],"class_list":["post-31035","post","type-post","status-publish","format-standard","hentry","category-solved","tag-ios","tag-swift","tag-swift4","tag-swift5"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>[Solved] Im getting an error at cellForRowAt and im not sure why - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-im-getting-an-error-at-cellforrowat-and-im-not-sure-why\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] Im getting an error at cellForRowAt and im not sure why - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] cell.textLabel?.text can only show a String object, not other objects. It will be product.item or product.price or product.salesPrice or all in one line. (based on your requirement). Make sure the value of product is not nil. cell.textLabel?.text = &quot;(product.item) (product.price) (product.salesPrice)&quot; The full code you can try this: class ViewController: UIViewController, UIAdaptivePresentationControllerDelegate { @IBOutlet ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-im-getting-an-error-at-cellforrowat-and-im-not-sure-why\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2023-01-18T20:24:34+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-im-getting-an-error-at-cellforrowat-and-im-not-sure-why\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-im-getting-an-error-at-cellforrowat-and-im-not-sure-why\\\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/person\\\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] Im getting an error at cellForRowAt and im not sure why\",\"datePublished\":\"2023-01-18T20:24:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-im-getting-an-error-at-cellforrowat-and-im-not-sure-why\\\/\"},\"wordCount\":63,\"publisher\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\"},\"keywords\":[\"ios\",\"swift\",\"swift4\",\"swift5\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-im-getting-an-error-at-cellforrowat-and-im-not-sure-why\\\/\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-im-getting-an-error-at-cellforrowat-and-im-not-sure-why\\\/\",\"name\":\"[Solved] Im getting an error at cellForRowAt and im not sure why - JassWeb\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#website\"},\"datePublished\":\"2023-01-18T20:24:34+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-im-getting-an-error-at-cellforrowat-and-im-not-sure-why\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-im-getting-an-error-at-cellforrowat-and-im-not-sure-why\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-im-getting-an-error-at-cellforrowat-and-im-not-sure-why\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] Im getting an error at cellForRowAt and im not sure why\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#website\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/jassweb.com\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/jass-website-logo-1.png\",\"contentUrl\":\"https:\\\/\\\/jassweb.com\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/person\\\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400\",\"contentUrl\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\\\/\\\/jassweb.com\"],\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/author\\\/jaspritsinghghumangmail-com\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] Im getting an error at cellForRowAt and im not sure why - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-im-getting-an-error-at-cellforrowat-and-im-not-sure-why\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] Im getting an error at cellForRowAt and im not sure why - JassWeb","og_description":"[ad_1] cell.textLabel?.text can only show a String object, not other objects. It will be product.item or product.price or product.salesPrice or all in one line. (based on your requirement). Make sure the value of product is not nil. cell.textLabel?.text = \"(product.item) (product.price) (product.salesPrice)\" The full code you can try this: class ViewController: UIViewController, UIAdaptivePresentationControllerDelegate { @IBOutlet ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-im-getting-an-error-at-cellforrowat-and-im-not-sure-why\/","og_site_name":"JassWeb","article_published_time":"2023-01-18T20:24:34+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-im-getting-an-error-at-cellforrowat-and-im-not-sure-why\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-im-getting-an-error-at-cellforrowat-and-im-not-sure-why\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] Im getting an error at cellForRowAt and im not sure why","datePublished":"2023-01-18T20:24:34+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-im-getting-an-error-at-cellforrowat-and-im-not-sure-why\/"},"wordCount":63,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["ios","swift","swift4","swift5"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-im-getting-an-error-at-cellforrowat-and-im-not-sure-why\/","url":"https:\/\/jassweb.com\/solved\/solved-im-getting-an-error-at-cellforrowat-and-im-not-sure-why\/","name":"[Solved] Im getting an error at cellForRowAt and im not sure why - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2023-01-18T20:24:34+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-im-getting-an-error-at-cellforrowat-and-im-not-sure-why\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-im-getting-an-error-at-cellforrowat-and-im-not-sure-why\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-im-getting-an-error-at-cellforrowat-and-im-not-sure-why\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] Im getting an error at cellForRowAt and im not sure why"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/31035","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=31035"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/31035\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=31035"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=31035"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=31035"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}