2014-12-08 2 views
0

"Expression result unused"경고 메시지가 나타납니다.UITabBarItem에 대한 표현식 결과가 사용되지 않음

enter image description here

나는이 보여주는 이유를 잘 모릅니다. 올바르게 작동하고 있습니다. 올바른 제목과 이미지를 보여주는 이유는 무엇입니까? 이 경고를 수정하려면 어떻게해야합니까?

도움을 주셔서 감사합니다.

---------------------------------------------- ------- 편집 1

언제 이런 식으로 써도 경고가 없습니다.

tabBarItem1 = [tabBarItem1 initWithTitle:@"Matcher Idag" image:[UIImage imageNamed:@"games-2.png"] selectedImage:[UIImage imageNamed:@"games-2.png"]]; 

하지만 제품에 갈 때 -> 분석은 다음 말한다 : "tabBarItem1에 저장된 값이

+0

:

대신 당신은 제목과 이미지 속성을 사용해야합니까? – RegularExpression

+1

사실, 코드 그림을 게시하지 마십시오. 게시물에 코드를 복사/붙여 넣기하고 코드 서식을 사용하십시오. 그렇게하면 읽을 수 있고 사람들이 제안을하고 싶다면 코드를 복사/붙여 넣기 할 수 있습니다. –

+0

사실, 시간을내어 설명해 주셔서 감사합니다. 매우 도움이되는 @DuncanC 당신은 당신의 물건을 아는 것처럼 보입니다. 혹시라도 잠시 시간을내어이 게시물을 살펴 본다면 당신이 어떤 아이디어를 가지고 있다면 나는 당신에게 아주 친절하게 될 것입니다. http://stackoverflow.com/questions/27347937/changing-position-of-a-uilabel- for-a-custom-uitableviewcell –

답변

2

그 코드는 매우, 매우 잘못

초기화 방법은 객체를 반환를 사용하지 않습니다.. 때로는 초기화 방법은 당신이 시작이 아닌 다른 객체를 반환하기 때문에 당신은 그것을 사용하는 거 야

당신은 거의 항상 ALLOC를 사용하여 한 쌍 함께 초기화하기, 예 :.

tabBarItem1 = [[tabBarItem alloc] initWithTitle: @"title" 
    image: myImage 
    selectedImage: anotherImage]; 

경험 많은 Objective-C 개발자가 아니고 alloc 및 init을 별도로 호출하면 실수를 저지르고 있습니다. 나는 한 손의 손가락에 셀 수를 셀 수있다. 내가 초기화를 사용한 횟수는 위의 그림에서 alloc/init 패턴이 아니었다.

게시 한 코드는별로 의미가 없다. 이미 탭 표시 줄의 일부인 객체에 초기화 메시지를 보내면 안됩니다. 그건 아니야. 이러한 객체는 이미 초기화되어 있으며 초기화 된 메시지는 수명이 끝난 객체에만 보내어야합니다. 당신이하는 일은 문제를 일으킬 것입니다. 큰 문제. selectedImage 정규 이미지와 동일합니다 아마 때문에

tableBarItem1.title = @"new title"; 
tableBarItem1.image = myImage; 
tableBarItem1.selectedImage = mySelectedImage; 
+0

고마워요! 매우 도움이된다. –