2010-07-23 4 views
1

아이폰/맥 "사운드 클래스를 플레이": link textObjective-C에서 샘플 코드 메서드를 포함하고 호출하는 방법은 무엇입니까?

은 여기 큰 목표 - C 클래스와 코드 샘플 엄청 많이 찾을 ... 그리고 다른 곳에서.

성공적으로 .h 및 .m 파일을 만들지 만 기존 코드에서 어떻게 호출합니까?

  • @class 또는 #import 문은 어디에 넣어야합니까?
  • 어떻게 메소드를 호출합니까?
  • 2-3 개의 다른 사운드 파일을 재생해야하는 경우 어떻게해야합니까?
  • 코드를 포함시켜야하는 이유 ... 어디서나 사용할 수있는 방법에 대한 정보가 없습니까?

답변

0

클래스 중 하나에서 메서드를 호출하려는 곳이면 #import "SomeClass.h"을 .h 파일의 맨 위에 넣습니다.

[SomeClass someMethod] 또는 SomeClass *object = [[SomeClass alloc] init] 등 원하는 작업을 수행 할 수 있습니다.

이것은 아주 기본적인, 당신은 일반적으로 아네트, 당신은 당신이 .H를 보면,이 경우

를 슈퍼 클래스 객체를보고 할 필요가 무엇인지 알 수 The Objective-C Programming Language Guide

+0

나는 여러 번 읽었습니다 ... 여러 번 .... 장소가 없다는 것을 알게 될 것입니다. "철자가 분명합니다". 어쩌면 거기에는 여러 가지 방법으로 할 수 있기 때문에 ... 그리고 올바른 방법은 없습니다. 그래서 @class를 사용할 필요가 없습니까? – Annette

+0

나는 어떤 오류없이 컴파일 할 수있는 것들을 얻을 수 있었다 ... 그리고 그것은 작동하는 것처럼 보인다 ... (그래서 나는 99 %가 성공했다는 것을 안다.) 그러나 "빌드하고 분석하라"는 것은 항상 메모리 누수를보고하는 것 같다. 이 줄 : aSound = [[소리 할당] initWithPath : @ "pathtoSound"]; – Annette

+0

@class 대 #import : http : // stackoverflow.com/questions/322597/objective-c-class-vs-import – Kurbz

1

을 읽어야합니다 당신은 @interface 사운드 볼 수있는 파일 :

사운드는이 클래스의 이름입니다 NSObject의

를 NSObject의 우리의 슈퍼 클래스입니다 initWithPath 방법 자체를 반환하고, [슈퍼 초기화]을 의미합니까있다

는 캘리포니아 그 부모 초기화 메소드를 제공합니다.

이 방법을 호출하려면 두 가지 방법 중 하나를 선택하십시오.

대리인에서 관리 할 수있는 속성을 사용할 수 있습니다. 대리인의 다음 somwhere

@class Sound; 
@interface ScanViewController : UIViewController { 
    Sound *aSound; 
} 
@property (nonatomic, retain) Sound *aSound; 

- (void) someFunction() { 
    aSound = [[Sound alloc] initWithPath:@"pathtoSound"]; 
} 

당신이 쉽게 그래서 같이하는 .m 파일에 어디에서든지 새로운 사운드 객체를 생성 할 수있는 재산 할 didnt가 당신을합니다. 여러 소리를 원한다면

Sound *mySound = [[Sound alloc] initWithPath:@"pathtoSound"]; 

, 사운드 배열

P.S.에 저장 당신이 그들을 alloc'ed 이후 이러한 개체를 공개하는 것을 잊지 마라.

+0

그래서 아무것도 가져올 필요가 없습니까? – Annette

+0

언제 "자기"를 사용해야합니까? 대신 : self.aSound = [[소리 할당] initWithPath : @ "pathtoSound"]; – Annette

관련 문제