2016-06-13 9 views
5

Właśnie przechodzę do nowego w szybkim,Wywołane wyrażenie expression: Wykonanie zostało przerwane, powód: krok po kroku. Proces został przywrócony do stanu przed oceną wyrażenia

Mam jeden przycisk po kliknięciu, która otwiera przednia kamera iPada i kliknięcie zdjęcia użytkownika, a po kliknięciu wykorzystanie zdjęć,

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) 

jest uzyskiwanie nazywany od imagePickerController

to jest linia kodu ..

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) 

    { 
     picker .dismissViewControllerAnimated(true, completion: nil) 
     photoImgView.image=info[UIImagePickerControllerOriginalImage] as? UIImage 
     if imageData == nil { 
      imageData = UIImageJPEGRepresentation((info[UIImagePickerControllerOriginalImage] as? UIImage)!, 1) 
     } 
    } 

ale kiedy złożyć pokazuje znalezione nil value, po debugowania dostał ten punkt func didFinishPickingMediaWithInfo który mówi,

(lldb) po imageData 
expression produced error: Execution was interrupted, reason: step over. 
The process has been returned to the state before expression evaluation. 

ja nie dostaję tego, co robię źle. jak nie jestem dobry w szybkim, czy ktoś może mnie poprowadzić dla tego samego. Utknąłem w tym punkcie.

Z góry dziękuję.

Odpowiedz

1

mam rozwiązanie, Dzięki moim kolegą,

ja przechwytywanie obrazu z imagePickerController i uzyskiwanie zapisane w NSData. Jednak obraz przechwycił około 6-7 MB (kamera iPad przechwytuje obraz o tym rozmiarze domyślnie) i zapisując go do NSData, a następnie konwertując go do formatu base64, wychodzi poza jego rozmiar, a następnie kompilator zgłasza problem.

Problem rozwiązany tylko poprzez zmianę w kodzie linii dla UIImageJPEGRepresentation

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) 
{ 
    photoImgView.image=info[UIImagePickerControllerOriginalImage] as? UIImage 
    imageData = UIImageJPEGRepresentation((info[UIImagePickerControllerOriginalImage] as? UIImage)!, 0.5) 
    print(imageData) 
    picker .dismissViewControllerAnimated(true, completion: nil) 
} 
0

Na początku dzwonisz pod numer dissmissViewController(:_). Nazwij to na końcu funkcji i spróbuj.

+0

Próbowałem już nawet próbowałem konwertować do formatu PNG. ale nadal problem istnieje – Sagar

+0

Myślę, że przekroczyłeś instrukcję. - Krok po kroku Wykonuje bieżącą instrukcję, a następnie zatrzymuje się przy następnej instrukcji. Jeśli bieżąca instrukcja jest wywołaniem funkcji lub skryptu, debugger wykonuje całą funkcję lub skrypt i zatrzymuje się przy następnej instrukcji po wywołaniu funkcji. – Dershowitz123

Powiązane problemy