swift - 'NSString' is not a subtype of 'UILabel' -



swift - 'NSString' is not a subtype of 'UILabel' -

i developing simple tableview custom cell , in when user click on row it's navigate next detailviewcontroller , detailviewcontroller displays info , code is:

iteams.swift

class iteam { var name = "name" var time = "time" var imagename = "blank" init(name : string, time : string, imagename : string){ self.name = name self.time = time self.imagename = imagename } }

detailviewcontroller.swift

import uikit class detailviewcontroller: uiviewcontroller { @iboutlet weak var iteamimage: uiimageview! @iboutlet weak var iteamname: uilabel! @iboutlet weak var iteampreptime: uilabel! var namestr : string = string() var preptime : int = int() var iteamimagename : string = string() override func viewdidload() { super.viewdidload() self.iteamname.text = namestr self.iteampreptime.text = string(preptime) self.iteamimage.image = uiimage(named: iteamimagename) } }

viewcontroller.swift

class viewcontroller: uiviewcontroller, uitableviewdatasource, uitableviewdelegate { @iboutlet weak var mytableview: uitableview! var arrayofiteams : [iteam] = [iteam]() override func viewdidload() { super.viewdidload() self.setofiteams() } override func didreceivememorywarning() { super.didreceivememorywarning() } func setofiteams(){ var iteam1 = iteam(name: "egg benedict", time: "00:10", imagename: "egg_benedict.jpg") var iteam2 = iteam(name: "mushroom risotto", time: "00:20", imagename: "mushroom_risotto.jpg") var iteam3 = iteam(name: "full breakfast", time: "00:30", imagename: "full_breakfast.jpg") var iteam4 = iteam(name: "hamburger", time: "00:20", imagename: "hamburger.jpg") var iteam5 = iteam(name: "ham , egg sandwich", time: "00:10", imagename: "ham_and_egg_sandwich.jpg") var iteam6 = iteam(name: "creme brelee", time: "00:20", imagename: "creme_brelee.jpg") var iteam7 = iteam(name: "white chocolate donut", time: "00:30", imagename: "white_chocolate_donut.jpg") var iteam8 = iteam(name: "starbucks coffee", time: "00:20", imagename: "starbucks_coffee.jpg") var iteam9 = iteam(name: "vegetable curry", time: "00:10", imagename: "vegetable_curry.jpg") var iteam10 = iteam(name: "instant noodle egg", time: "00:20", imagename: "instant_noodle_with_egg.jpg") var iteam11 = iteam(name: "noodle bbq pork", time: "00:10", imagename: "noodle_with_bbq_pork.jpg") var iteam12 = iteam(name: "japanese noodle pork", time: "00:10", imagename: "japanese_noodle_with_pork.jpg") var iteam13 = iteam(name: "green tea", time: "00:20", imagename: "green_tea.jpg") var iteam14 = iteam(name: "thai shrimp cake", time: "00:10", imagename: "thai_shrimp_cake.jpg") var iteam15 = iteam(name: "angry birds cake", time: "00:30", imagename: "angry_birds_cake.jpg") var iteam16 = iteam(name: "ham , cheese panini", time: "00:10", imagename: "ham_and_cheese_panini.jpg") arrayofiteams.append(iteam1) arrayofiteams.append(iteam2) arrayofiteams.append(iteam3) arrayofiteams.append(iteam4) arrayofiteams.append(iteam5) arrayofiteams.append(iteam6) arrayofiteams.append(iteam7) arrayofiteams.append(iteam8) arrayofiteams.append(iteam9) arrayofiteams.append(iteam10) arrayofiteams.append(iteam11) arrayofiteams.append(iteam12) arrayofiteams.append(iteam13) arrayofiteams.append(iteam14) arrayofiteams.append(iteam15) arrayofiteams.append(iteam16) } func tableview(tableview: uitableview, numberofrowsinsection section: int) -> int{ homecoming arrayofiteams.count } func tableview(tableview: uitableview, cellforrowatindexpath indexpath: nsindexpath) -> uitableviewcell{ allow cell : customcell = tableview.dequeuereusablecellwithidentifier("cell") customcell allow nutrient = arrayofiteams[indexpath.row] cell.setcell(food.name, preptimetext: food.time, imagename: (food.imagename)) homecoming cell } func tableview(tableview: uitableview, didselectrowatindexpath indexpath: nsindexpath){ allow iteam = arrayofiteams[indexpath.row] var detailviewcontroller : detailviewcontroller = self.storyboard?.instantiateviewcontrollerwithidentifier("detailviewcontroller") detailviewcontroller detailviewcontroller.namestr = iteam.name detailviewcontroller.iteampreptime = iteam.time // here got error detailviewcontroller.iteamimagename = iteam.imagename self.presentviewcontroller(detailviewcontroller, animated: true, completion: nil) } }

other namestr , iteamimagename working fine.

any solution this?

your variable called 'preptime' assign straight uilabel itempreptime not yet available (the view not loaded yet). have assign value variable , assign uilabel.text in viewdidload (as already).

so:

detailviewcontroller.iteampreptime = iteam.time // here got error

should be:

detailviewcontroller.preptime = iteam.time

additional note: seek have consistency in variable names. why did include iteam prefix in variable iteamimagename? causes confusion, because uilabel outlets have prefix. using imagename variable better.

swift

Comments

Popular posts from this blog

assembly - What is the addressing mode for ld, add, and rjmp instructions? -

vowpalwabbit - Interpreting Vowpal Wabbit results: Why are some lines appended by "h"? -

Is there a way to convert an HTML page styled with Bootstrap CSS into email-compatible html? -