Amin Negm-Awad schrieb:
So wie der Kommunismus die Ungleichheit der Menschen.
„Meine Komplikation hatte eine Komplikation.“
Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen
Amin Negm-Awad schrieb:
So wie der Kommunismus die Ungleichheit der Menschen.
macmoonshine schrieb:
Oder der Kapitalismus allen die gleichen Chancen einräumt.Amin Negm-Awad schrieb:
So wie der Kommunismus die Ungleichheit der Menschen.
Amin Negm-Awad schrieb:
So ist es eben auch mit Objective-C und Swift: Beides ist gleich, nur Objective-C eben besser.
Zeile 106 fehlt der Aufruf 'inout DetectionString: String' als Parameter der Funktion. Im Playground hast du es ja so auch gemachtGhost108 schrieb:
was für ein Buch wäre denn zu empfehlen?
@MCDan
zumindest funktioniert der Code so, solang ich das inout weg lasse ...
* UPDATE *
Habe den Code mal wie folgt angepasst:
Resultat:Alles anzeigenC-Quellcode
- //
- // ViewController.swift
- // Test
- //
- // Copyright (c) 2015 by Ghost108. All rights reserved.
- //
- import UIKit
- import AVFoundation
- import Foundation
- import CoreData
- class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate, AVCaptureMetadataOutputObjectsDelegate {
- @IBOutlet weak var LebensmittelTable: UITableView!
- @IBOutlet weak var NavBarLM: UINavigationItem!
- let session : AVCaptureSession = AVCaptureSession()
- let managedObjectContext = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext
- let device = AVCaptureDevice.defaultDeviceWithMediaType(AVMediaTypeVideo)
- var previewLayer : AVCaptureVideoPreviewLayer!
- var highlightView : UIView = UIView()
- var detectionString : String! = ""
- /*************** VIEW DID LOAD ***************/
- override func viewDidLoad() {
- super.viewDidLoad()
- // Button Scan einblenden
- var imageViewright:UIImageView = UIImageView()
- imageViewright.frame = CGRectMake(0, 0, 26, 26)
- var rightImage:UIImage = UIImage(named: "barcode")!
- imageViewright.image = rightImage
- var rightView:UIView = UIView()
- rightView.frame = CGRectMake(0, 0, 26, 26)
- rightView.addSubview(imageViewright)
- var rightGestureRecognizer:UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "StartScan")
- rightView.addGestureRecognizer(rightGestureRecognizer)
- var righttem:UIBarButtonItem = UIBarButtonItem()
- righttem.customView = rightView
- self.navigationItem.rightBarButtonItem = righttem
- righttem.tintColor = UIColor.whiteColor()
- }
- /*************** SCAN ***************/
- func StartScan() {
- self.highlightView.autoresizingMask = .FlexibleTopMargin | .FlexibleBottomMargin | .FlexibleLeftMargin | .FlexibleRightMargin
- self.highlightView.layer.borderColor = UIColor.greenColor().CGColor
- self.highlightView.layer.borderWidth = 3
- self.view.addSubview(self.highlightView)
- var error : NSError? = nil
- let input : AVCaptureDeviceInput? = AVCaptureDeviceInput.deviceInputWithDevice(device, error: &error) as? AVCaptureDeviceInput
- if input != nil {
- session.addInput(input)
- }
- let output = AVCaptureMetadataOutput()
- output.setMetadataObjectsDelegate(self, queue: dispatch_get_main_queue())
- session.addOutput(output)
- output.metadataObjectTypes = output.availableMetadataObjectTypes
- previewLayer = AVCaptureVideoPreviewLayer.layerWithSession(session) as! AVCaptureVideoPreviewLayer
- previewLayer.frame = self.view.bounds
- previewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill
- self.view.layer.addSublayer(previewLayer)
- session.startRunning()
- }
- /*************** BARCODE GEFUNDEN ***************/
- func captureOutput(captureOutput: AVCaptureOutput!, didOutputMetadataObjects metadataObjects: [AnyObject]!, fromConnection connection: AVCaptureConnection!) {
- func getEAN (inout detectionString: String) {
- var highlightViewRect = CGRectZero
- var barCodeObject : AVMetadataObject!
- let barCodeTypes = [
- AVMetadataObjectTypeUPCECode,
- AVMetadataObjectTypeCode39Code,
- AVMetadataObjectTypeCode39Mod43Code,
- AVMetadataObjectTypeEAN13Code,
- AVMetadataObjectTypeEAN8Code,
- AVMetadataObjectTypeCode93Code,
- AVMetadataObjectTypeCode128Code,
- AVMetadataObjectTypePDF417Code,
- AVMetadataObjectTypeQRCode,
- AVMetadataObjectTypeAztecCode,
- AVMetadataObjectTypeITF14Code,
- AVMetadataObjectTypeInterleaved2of5Code,
- AVMetadataObjectTypeFace,
- AVMetadataObjectTypeDataMatrixCode
- ]
- for metadata in metadataObjects {
- for barcodeType in barCodeTypes {
- if metadata.type == barcodeType {
- barCodeObject = self.previewLayer.transformedMetadataObjectForMetadataObject(metadata as! AVMetadataMachineReadableCodeObject)
- highlightViewRect = barCodeObject.bounds
- detectionString = (metadata as! AVMetadataMachineReadableCodeObject).stringValue
- self.session.stopRunning()
- self.previewLayer.removeFromSuperlayer()
- println ("Scan: \(detectionString)")
- break
- }
- }
- }
- }
- getEAN(&detectionString!)
- }
- /*************** BUTTON SCAN SAVE ***************/
- @IBAction func ScanFertigstellen(sender: AnyObject) {
- func getCode(inout detectionString: String) {
- var eancode = detectionString
- println("Code: \(eancode)")
- }
- getCode(&detectionString!)
- }
- }
Zeile 147 gibt mir den gescannten Code aus.
Zeile 162: gibt nur Code: aus ohne EAN Code
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Ghost108 ()