2013-03-14 2 views
0

나를 도울 수 있기를 바랍니다. 코드는 루비 모션이지만 아이오스 문제라고 확신한다. Rubymotion이 대답의 길에 들어 가지 않기를 바랍니다. 그리고 Obj-C를 읽을 수 있습니다. Obj-C로만 답할 수 있다면, 저는 그것으로 잘합니다.UIImage에 인식 할 수없는 선택자가 보냈습니까?

는 내가있는 UIImage 객체가 있습니다. 나는 그것의 크기를 얻으려고 노력하고있다. 다음 작업을 수행 할 때 :

#<UIImage:0x9513710> 
NSInvalidArgumentException: -[UIImage extent]: unrecognized selector sent to instance 0x10fb7410 (RuntimeError) 
#<UIImage:0x9513710> 

난 당신이 정도 오류가 발생하면, 그것은 개체가 출시되었습니다 의미하는 경향이 더 이상 없다는 것을 읽었습니다 :

image = info.objectForKey(UIImagePickerControllerOriginalImage) 
@image = UIImage.alloc.initWithCIImage(image) 
puts @image.to_s 
puts @image.size 
puts @image.to_s 

나는이 출력을 얻을 메모리에 있지만 .size 행을 주석 처리하면 3 행이 계속 실행되어 아직 릴리스되지 않았 음을 의미합니다.

아이디어가 있으십니까?

+1

오류는 UIImage가 extent라는 메서드를 찾지 못한다는 것입니다. –

+0

나는 범위를 부르지 않을거야. –

+2

@DanBrooking'extent'는'UIImage' 어딘가에서 호출되고 있습니다. 'extent error'라는 오류가 없으며 'instance to sent instance'오류가 발생합니다. 'UIImage'는 객체이고'extent'는 그 객체에서 호출되는 메소드/함수입니다. 객체가 릴리즈 된 곳에서 오류가 발생하면'EXC_BAD_ACCESS' 오류가 발생합니다. 'UIImage' 객체와 관련된 코드를 보여줘야합니다. – Popeye

답변

5

CIImage 인스턴스가 아닌 UIImage 인스턴스를 사용하고있는 곳 ... CIImage에는 빠른 범위의 "Extent"라는 함수가 있으며 UIImage는 그렇지 않습니다. 어쩌면이 "범위"기능을 사용하는 함수에 이미지를 전달하는 것일 수 있습니다.

+0

: '@image = UIImage.alloc.initWithCIImage (이미지)' 는 잘되지 않습니다? 이미지가 클래스 UIImage로 돌아오고 있습니다. 이유는 무엇입니까? '@ image.size' 이 오류는 –

+0

입니다. 그럼 RubyMotion이 문제의 근원 인 것 같습니다. RubyMotion이 함수를 번역 한 것처럼 보입니다. 범위로 : 나는 그것이 유일하게 제공 할 수있는 도움이 아닌가 걱정된다! –

+0

OK ... 당신의 대답이 나를 생각하게 만들었습니다 ... 저는 오래된 코드를 파헤 치고 크기가'@ image.CIImage.size'가되도록 전화를 수정했습니다. 그래서 ..... 정답에 대한 경로를 이끌고 주셔서 감사합니다 :) –

0

데이브에게 감사의 말을 전합니다. 코드는 다음과 같이 작성해야합니다. @image.CIImage.size

이 방법이 유용합니다.

+0

이것은 답변입니까, 댓글입니까? 대답은 DaveLevertons의 대답과 같습니다. – Popeye

+0

내 질문에 대한 구체적인 대답을하고 대답으로 표시하려고했지만 ... 실제 답변이 너무 단순하기 때문에 Dave에게 신용을주고 대답을 대답으로 표시했습니다. –

관련 문제