iPhone SDK - вызов функции Objective C - PullRequest
0 голосов
/ 26 января 2011

Я хотел бы создать функцию под названием playSound с одним (но позже два параметра - один, который является именем файла и один, который является музыкальным типом (mp3, ...))

но я не могу заставить работать параметр в моей функции ... пожалуйста, помогите мне

вот мой код

    //
//  MainView.m
//
//  Created by Christopher Fuchs on 26.01.11.
//  Copyright 2011 __MyCompanyName__. All rights reserved.
//

#import "MainView.h"
#import <AVFoundation/AVAudioPlayer.h>
#import <AVFoundation/AVFoundation.h>

@implementation MainView

void playSound(char filename){
 UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Mein Alert" message:filename delegate:nil cancelButtonTitle:@"Abbrechen" otherButtonTitles:nil];
 [alert show];
 [alert release];

}

- (IBAction)PlayFatGuyWalking:(id)sender {

 playSound(@"MusicFile");

}
@end

Пока я просто добавил предупреждение вместо звукового фреймворка параметр называется «filename» и должен называться сообщением оповещения

заранее спасибо

Greez

Ответы [ 2 ]

3 голосов
/ 26 января 2011
- (void)playSound:(NSString *)filename {
  // method body
}

// calling
[self playSound:@"MusicFile"];
1 голос
/ 26 января 2011

Сделайте эту строку:

void playSound(char filename)

в это:

void playSound(NSString *filename)

Конструкция @ "foo" гласит: "это строка NSString".если вы хотите сохранить функцию C, вы можете переместить ее из блока @implementation.

Вы обнаружите, что практически все, запрашивающие строку в Какао, захотят NSString, а не char*.

О да, и (имя файла char) также не будет работать в простом C, что это единственная байтовая переменная, а не указатель на потенциальную строку.

...