2016-08-20 4 views
0

내가 여기 도움이 필요 나는 응용 프로그램을 구현하는 핵심 데이터를 사용하려고하지만 줄에 52 -오류 : "스레드 1 : EXC_BAD_ACCESS (코드 = EXC_I386_GPFLT)

myHood.setMyHoodImg(addHoodImg.image!)) 

나는 오류 각 시간을 보내고. A A 새 후드를 만들기 위해 버튼을 클릭 오류 :. 정말 간단

import UIKit 
import CoreData 

class CreateHoodVC: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate { 

@IBOutlet weak var hooddesc: UITextField! 
@IBOutlet weak var addHoodImgBtn: UIButton! 
@IBOutlet weak var addHoodImg: UIImageView! 

var imagePicker: UIImagePickerController! 

override func viewDidLoad() { 
    super.viewDidLoad() 

    imagePicker = UIImagePickerController() 
    imagePicker.delegate = self 
    addHoodImg.layer.cornerRadius = 4.0 
    addHoodImg.clipsToBounds = true 

} 

func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage, editingInfo: [String : AnyObject]?) { 

    imagePicker.dismissViewControllerAnimated(true, completion: nil) 
    addHoodImg.image = image 
} 

@IBAction func addImage(sender: AnyObject!){ 

    presentViewController(imagePicker, animated: true, completion: nil) 

} 


@IBAction func createHood(){ 

    if let hoodDescription = hooddesc.text where hoodDescription != ""{ 

     let app = UIApplication.sharedApplication().delegate as! AppDelegate 
     let context = app.managedObjectContext 
     let entity = NSEntityDescription.entityForName("MyHood", inManagedObjectContext: context)! 
     let myHood = MyHood(entity: entity, insertIntoManagedObjectContext: context) 

     myHood.myHoodDescription = hoodDescription 
     myHood.setMyHoodImg(addHoodImg.image!) 

     context.insertObject(myHood) 

     do { 

      try context.save() 
     } catch { 
      print("Could not save new Hood") 
     } 
    } 

} 

} 

답변

0

: 여기

"Thread 1: EXC_BAD_ACCESS(Code=EXC_I386_GPFLT)

하면 코드

당신이 작성하는 경우 : 당신은 이미지를 선택하지 않은 경우

myHood.setMyHoodImg(addHoodImg.image!) 

당신은 NIL을 addHoodImg.image이 존재 랬지만, 첫 번째 실행에있다 있습니다. 이렇게 2 가지 방법 :

1) 간단하게 쓰기 :

if let hoodDescription = hooddesc.text where hoodDescription != "" , let img = addHoodImg.image { 

2) 사용 안 함 시작 버튼과 선택하고 이미지 후 수 있습니다.

희망 도움말.

ps 나는 당신이 사용하는 (감소 된!) 수업과 함께 완전한 기능의 프로토를 가지고 있습니다.

+0

첫 번째 옵션을 구현했습니다. 하지만 여전히 오류가 발생합니다. 오류를 참조하십시오. ", 2016-08-20 06 : 14 : 42.924 My-Hood [5076 : 250083] _BSMachError : (os/kern) 잘못된 기능 (20) 2016-08-20 06 : 14 : 42.928 My-Hood [5076 : 250083] _BSMachError : (os/kern) 잘못된 이름 (15)? –

관련 문제