문제

iPhore를 코딩하는 데 IBACTION 및 IBOUTLET을 사용하는 목적은 무엇입니까? iPhone을 코딩하는 것은 무엇입니까? 사용하지 않으면 차이가 있습니까?

도움이 되었습니까?

해결책

IBAction 그리고 IBOutlet 인터페이스 빌더에서 참조 할 수있는 변수 및 메소드를 표시하도록 매크로가 정의되어 있습니다.

IBAction 해결합니다 void 그리고 IBOutlet 아무것도 해결하지 못하지만 Xcode 및 Interface Builder가 이러한 변수와 메소드를 인터페이스 빌더에서 사용하여 UI 요소를 코드에 연결할 수 있음을 나타냅니다.

인터페이스 빌더를 전혀 사용하지 않으려면 코드에서 필요하지 않지만 사용하려면 지정해야합니다. IBAction IB에서 사용될 방법 IBOutlet IB에서 사용될 물체의 경우.

다른 팁

인터페이스 빌더에 표시되도록 메소드를 표시하는 전통적인 방법은 연결을 드래그 할 수 있으며 메소드 리턴 유형 iBaction을 만드는 것이 었습니다. 그러나 메소드를 무효화하는 경우 대신 (iBaction은 #정의로 무효화되어) (ID) 인수를 제공하지만 메소드는 여전히 보입니다. 이것은 추가 유연성을 제공합니다

이 3 개는 모두 인터페이스 빌더에서 볼 수 있습니다.

-(void) someMethod1:(id) sender; 
-(IBAction) someMethod2; 
-(IBAction) someMethod3:(id) sender;

자세한 내용은 Apple의 인터페이스 빌더 사용자 안내서, 특히 Xcode Integration이라는 섹션을 참조하십시오.

GUI 구성 요소에 인터페이스 빌더 (IB 접두사)를 사용하는 경우 iBoutlet 및 iBaction을 사용해야합니다. 응용 프로그램의 속성을 IB의 구성 요소와 연관시키기 위해서는 IBoutlet이 필요하며 IBAction은 방법을 사용하여 방법을 IB의 작업과 연관시킬 수 있습니다.

예를 들어, IB에서 버튼과 레이블을 정의한다고 가정 해 봅시다. 버튼을 눌러 레이블 값을 동적으로 변경하려면 다음과 유사한 앱의 작업 및 속성을 정의합니다.

UILabel IBOutlet *myLabel;
-(IBAction) pushme;

그런 다음 IB에서는 MyLabel을 레이블로 연결하고 푸시 메 방법을 버튼에 연결합니다. 이러한 연결이 IB에 존재하려면 iBaction 및 iBoutlet이 필요합니다.

인터페이스 빌더는이를 사용하여 Window/View에서 사용중인 인터페이스 컨트롤까지 '유선'할 수있는 멤버 및 메시지를 결정합니다.

Iboutlet과 iBaction은 인터페이스 빌더가 설계 시간에 코드를 구문 분석 할 때 찾는 마커로 순전히 존재하며 컴파일러에서 생성 한 코드에 영향을 미치지 않습니다.

출구는 코드에서 UI로 링크입니다. UI 요소를 보여 주거나 숨기려면 텍스트 필드의 텍스트를 받거나 요소 (또는 100 가지)를 활성화하거나 비활성화하려면 소스에서 해당 객체의 콘센트를 정의하고 해당 콘센트를 링크해야합니다. UI 요소에 대한 "인터페이스 객체"를 통해 그런 다음 코딩의 다른 변수와 마찬가지로 출구를 사용할 수 있습니다.

IBACTION-사용자 인터페이스 개체에 의해 트리거 된 특수 메소드. 인터페이스 빌더가 인식합니다.

@interface Controller
{
  IBOutlet id textField; // links to TextField UI object
}

- (IBAction)doAction:(id)sender; // e.g. called when button pushed

자세한 내용은 참조하십시오 사과 문서

키 값 코딩을 보면서 다이어그램에 달려 가면 누군가가 도움이 될 수 있다고 생각했습니다. Iboutlet이 무엇인지 이해하는 데 도움이됩니다.

흐름을 살펴보면 Iboutlets가 NIB 파일의 제어 이름과 속성 이름과 일치하는 것을 볼 수 있습니다.

How nib file is loaded, screenshot of Matt's online book for iOS6

IBACTION 및 IBOUTLETS는 컨트롤러와 인터페이스 빌더에서 만든 인터페이스를 연결하는 데 사용됩니다. 인터페이스 빌더를 사용하지 않고 코드로 인터페이스를 완전히 빌드하면 사용하지 않고 프로그램을 만들 수 있습니다. 그러나 실제로 대부분의 사람들은 인터페이스 빌더를 사용합니다. 일단 인터페이스에서 인터랙티브를 얻으려면 iBactions 및 iBoutlet을 사용해야합니다.

인터페이스 빌더를 사용하는 경우 Connections Inspector를 사용하여 이벤트 처리기가있는 이벤트를 설정할 수 있습니다. 이벤트 처리기는 IBAction 수정자가있는 기능이어야합니다. 보기는 동일한 유형 및 iBoutlet 수정 자와 참조와 연결될 수 있습니다.

Iboutlet

  • 이것은 재산.
  • NIB (IB) 파일이로드되면 인스턴스 변수에 연결되는 캡슐화 된 데이터의 일부가됩니다.
  • 각 연결은 구축되지 않고 재건됩니다.

iBaction

  • 기인하다 이 메소드는 인터페이스 빌더의 스토리 보드에서 연결할 수있는 동작임을 나타냅니다.

@- 동적 패턴 IB- 인터페이스 빌더

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top