Я настроил пару очень простых методов, которые работают с NSURL и NSStrings.первый вызываемый метод - getAudio.Я хочу установить переменную audioPath равной cleanAudio, чтобы ее можно было использовать позже в encryptWithAudioFile.Проблема где-то в пути, когда он передается в качестве параметра, объект становится нулевым.Я понятия не имею, почему, и я попробовал все методы, которые я могу представить с точки зрения управления памятью, чтобы попытаться сохранить объект.В журналах я использовал результат работы следующим образомNSLog (@ "Clean Audio1:% @", audioPath);Отлично, работает как надоNSLog (@ "Clean Audio2:% @", audioPath);NSLog (@ "Clean Audio3:% @", audioPath);NSLog (@ "Clean Audio4:% @", audioPath);
@implementation Stub
@synthesize audioPath,
userText;
-(NSURL *)retrieveAudio:(NSURL *)cleanAudio{
self.audioPath = cleanAudio;
NSLog(@"Clean Audio1: %@", audioPath);
return cleanAudio;
}
-(NSString *)retrieveText:(NSString *)message{
self.userText = message;
NSLog(@"Text: %@", self.userText);
NSLog(@"Clean Audio2: %@", audioPath);
return message;
}
-(void)startEncrption{
NSLog(@"Clean Audio3: %@", self.audioPath);
[self encrypterWithAudioFile:self.audioPath withString:self.userText];
}
-(NSURL *)encrypterWithAudioFile:(NSURL *)audio withString:(NSString *)text{
NSLog(@"DIRTY AUDIO and TEXT: %@, %@", audio, text);
return audio;
}
-(void)dealloc{
[super dealloc];
[audioPath release];
[userText release];
}
@end
Редактировать: Вот .h
@interface Stub : NSObject {
NSURL *audioPath;
NSString *userText;
}
-(NSURL *)retrieveAudio:(NSURL *)cleanAudio;
-(NSString *)retrieveText:(NSString *)message;
-(void)startEncrption;
-(NSURL *)encrypterWithAudioFile:(NSURL *)audio withString:(NSString *)text;
@property(nonatomic, retain) NSURL *audioPath;
@property(nonatomic, retain) NSString *userText;
Я вызываю методы в других классах следующим образом:
stubObj = [[Stub alloc] init];
[stubObj retrieveAudio:recordedTmpFile];
и
stubObj2 = [[Stub alloc] init];
[stubObj2 retrieveText:textView.text];
[stubObj2 startEncrption];
Редактировать: Вероятно, я должен был упомянуть, что у меня есть три представления, все с разными контроллерами, работающими на UIScrollView, которые вызывают интерфейс [Stub].