ios - Use of unresolved identifier 'messageLabel' -


i'm having issue:

use of unresolved identifier 'messagelabel'

(twice line 84 & 97) and

use of unresolved identifier 'metadataobj'

(line 102)

on next code:

// //  viewcontroller.swift //  qr code 2 // //  created msys on 1/26/16. //  copyright © 2016 msys. rights reserved. //  import uikit import avfoundation   class viewcontroller: uiviewcontroller, avcapturemetadataoutputobjectsdelegate {      override func viewdidload() {         super.viewdidload()         // additional setup after loading view, typically nib.          // instance of avcapturedevice class initialize device object , provide video         // media type parameter.         let capturedevice = avcapturedevice.defaultdevicewithmediatype(avmediatypevideo)          // instance of avcapturedeviceinput class using previous device object.         var error:nserror?          let input: anyobject?          {             let capturedevice = avcapturedevice.defaultdevicewithmediatype( avmediatypevideo )             input = try avcapturedeviceinput.init( device: capturedevice )         } catch {             if let error = error nserror?             {                 print( "<error>", error.code, error.domain, error.localizeddescription )             }             return         }          if let input = input as! avcaptureinput? {             // tutorial should fine point...         }          if (error != nil) {             // if error occurs, log description of , don't continue more.             print("\(error?.localizeddescription)")             return         }          // initialize capturesession object.         capturesession = avcapturesession()         // set input device on capture session.         capturesession?.addinput(input as! avcaptureinput)          // initialize avcapturemetadataoutput object , set output device capture session.         let capturemetadataoutput = avcapturemetadataoutput()         capturesession?.addoutput(capturemetadataoutput)          // set delegate , use default dispatch queue execute call         capturemetadataoutput.setmetadataobjectsdelegate(self, queue: dispatch_get_main_queue())         capturemetadataoutput.metadataobjecttypes = [avmetadataobjecttypeqrcode]          // initialize video preview layer , add sublayer viewpreview view's layer.         videopreviewlayer = avcapturevideopreviewlayer(session: capturesession)         videopreviewlayer?.videogravity = avlayervideogravityresizeaspectfill         videopreviewlayer?.frame = view.layer.bounds         view.layer.addsublayer(videopreviewlayer!)          // start video capture.         capturesession?.startrunning()          // initialize qr code frame highlight qr code         qrcodeframeview = uiview()         qrcodeframeview?.layer.bordercolor = uicolor.greencolor().cgcolor         qrcodeframeview?.layer.borderwidth = 2         view.addsubview(qrcodeframeview!)         view.bringsubviewtofront(qrcodeframeview!)           func captureoutput(captureoutput: avcaptureoutput!, didoutputmetadataobjects metadataobjects: [anyobject]!, fromconnection connection: avcaptureconnection!) {              // check if metadataobjects array not nil , contains @ least 1 object.             if metadataobjects == nil || metadataobjects.count == 0 {                 qrcodeframeview?.frame = cgrectzero                 messagelabel.text = "no qr code detected"                 return             }              // metadata object.             let metadataobj = metadataobjects[0] as! avmetadatamachinereadablecodeobject              if metadataobj.type == avmetadataobjecttypeqrcode {                 // if found metadata equal qr code metadata update status label's text , set bounds                 let barcodeobject = videopreviewlayer?.transformedmetadataobjectformetadataobject(metadataobj avmetadatamachinereadablecodeobject) as! avmetadatamachinereadablecodeobject                 qrcodeframeview?.frame = barcodeobject.bounds;                  if metadataobj.stringvalue != nil {                     messagelabel.text = metadataobj.stringvalue                 }             }         }          let barcodeobject = videopreviewlayer?.transformedmetadataobjectformetadataobject(metadataobj avmetadatamachinereadablecodeobject) avmetadatamachinereadablecodeobject          qrcodeframeview?.frame = barcodeobject.bounds      }      override func didreceivememorywarning() {         super.didreceivememorywarning()         // dispose of resources can recreated.     }      var capturesession:avcapturesession?     var videopreviewlayer:avcapturevideopreviewlayer?     var qrcodeframeview:uiview?   } 

you have not defined messagelabel variable anywhere in code, trying set property of undefined variable throws error.

edit: try linking label storyboard viewcontroller , call messagelabel.

with metadataobj, have defined inside function, attempting use outside of function.


Comments

Popular posts from this blog

authentication - Mongodb revoke acccess to connect test database -

r - Update two sets of radiobuttons reactively - shiny -

ios - Realm over CoreData should I use NSFetchedResultController or a Dictionary? -