ios - How to randomly choose an element from coredata swift -


import uikit import coredata  class period1controller: uiviewcontroller, uitextfielddelegate {   @iboutlet weak var entername: uitextfield! @iboutlet weak var presentname: uitextview! @iboutlet weak var independcestatue: uitextfield! @iboutlet weak var driverselection: uitextfield!   var entitys = [nsmanagedobject]() var namelist : [string] = [] var period1 = "" var period1namelist = ""  override func viewdidload() {     super.viewdidload()  }   func setvalues() {     namelist = [entername.text!] }  //this button saving element core data @ibaction func setname(sender: uibutton) {     setvalues()     item in namelist{         period1 += (item + "  ")         period1namelist += item     }     let context = (uiapplication.sharedapplication().delegate as! appdelegate).managedobjectcontext     let entity = nsentitydescription.entityforname("entity", inmanagedobjectcontext: context)     let otherentity = nsmanagedobject(entity: entity!, insertintomanagedobjectcontext: context)     otherentity.setvalue(period1namelist, forkey: "period1core")     {         try context.save()         print("item saved")     } catch {         print("saved failed")     }     presentname.text = period1     entername.text = "" }  // button taking out element core data , randomly pick value element took out core data @ibaction func start(sender: uibutton) {     setvalues()     let context = (uiapplication.sharedapplication().delegate as! appdelegate).managedobjectcontext     let request = nsfetchrequest(entityname: "entity")     {         let results = try context.executefetchrequest(request)         entitys = results as! [nsmanagedobject]     } catch let error nserror {         print("could not fetch \(error), \(error.userinfo)")     }     let otherentity = entitys.last     let randomindex = int(arc4random_uniform(uint32(otherentity.count)))     driverselection.text! = namelist[randomindex]  }  } 

what trying randomly pick element core data , set equal driverselection textfield. in code set element @ coredata = otherentity. made otherentity nsmanagedobject, since otherentity nsmanagedobject, not able use .count method. there way can make me able randomly selected element nsmanagedobject???

if trying pull random index out of current number of objects in db should use results.count not otherentity.count so:

    @ibaction func start(sender: uibutton) {         setvalues()         let context = (uiapplication.sharedapplication().delegate as! appdelegate).managedobjectcontext         let request = nsfetchrequest(entityname: "entity")         var results = [anyobject]()          {             results = try context.executefetchrequest(request)          } catch let error nserror {             print("could not fetch \(error), \(error.userinfo)")         }         let randomindex = int(arc4random_uniform(uint32(results.count)))         driverselection.text! = namelist[randomindex]      } 

Comments

Popular posts from this blog

sql - VB.NET Operand type clash: date is incompatible with int error -

SVG stroke-linecap doesn't work for circles in Firefox? -

python - TypeError: Scalar value for argument 'color' is not numeric in openCV -