Как включить и вызвать примеры методов кода в Objective-C? - PullRequest
1 голос
/ 23 июля 2010

iPhone / Mac "играют класс звука": текст ссылки

Я нахожу очень много отличных классов для объективов c и примеры кода здесь ... и в других местах.

Я успешно создаю файлы .h и .m, но как мне вызвать их из моего существующего кода?

  • Где я могу разместить операторы @class или #import?
  • Как мне вызвать методы?
  • Что если мне нужно воспроизвести 2-3 разных звуковых файла?
  • Зачем включать код ... без какой-либо информации о том, как его когда-либо использовать?

Ответы [ 2 ]

1 голос
/ 23 июля 2010

Обычно Аннет, вы можете сказать, что нужно сделать, посмотрев на объекты суперкласса

в этом случае, если вы посмотрите на файл .h, вы увидите @interface Sound: NSObject

Звук - это название этого класса, NSObject - наш суперкласс

метод initWithPath возвращает сам себя и выполняет [super init], что означает, что он вызывает родительский метод init.

Чтобы вы могли вызвать этот метод, есть один из двух способов.

У вас может быть свойство, которым вы управляете, скажем, в вашем делегате.

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

тогда где-то в вашем делегате

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

Если вы не хотите, чтобы это было свойство, вы можете легко создать новый объект Sound в любом месте файла .m, например.

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

Если вам нужно несколько звуков, сохраните их в звуковом массиве

P.S. не забудьте освободить эти объекты, так как вы их распределили.

0 голосов
/ 23 июля 2010

Везде, где вы хотите вызвать метод из одного из классов, поместите #import "SomeClass.h" вверху файла .h.

Тогда вы можете сделать [SomeClass someMethod] или SomeClass *object = [[SomeClass alloc] init], или все, что вы хотите сделать.

Это довольно просто, вы должны прочитать Руководство по языку программирования Objective-C

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...