Objective c 发表演说

Objective c 发表演说,objective-c,iphone,avspeechsynthesizer,Objective C,Iphone,Avspeechsynthesizer,我试着让AVSpeech说出字符串中的两个NSString*组合并将其传给AVSpeech。但是只有speekone被传递到了合并字符串。所以我只说了第一句话。我是否以某种方式声明字符串错误,或者我是否需要更改我的方法 - (IBAction)UIButtonPlayPressed:(UIButton *)sender{ NSString *speekone = _activity.activityName; NSString *speektwo = _activity.activityDesc

我试着让AVSpeech说出字符串中的两个NSString*组合并将其传给AVSpeech。但是只有speekone被传递到了合并字符串。所以我只说了第一句话。我是否以某种方式声明字符串错误,或者我是否需要更改我的方法

- (IBAction)UIButtonPlayPressed:(UIButton *)sender{
NSString *speekone = _activity.activityName;
NSString *speektwo = _activity.activityDescription;
NSString *combined = [NSString stringWithFormat:speekone, speektwo];

if (speechPaused == NO) {
//Title for button    [self.UIButtonPlay setTitle:@"Pause" forState:UIControlStateNormal];
    [self.synthesizer continueSpeaking];
    speechPaused = YES;
    NSLog(@"playing");
} else {
//Titleforbutton    [self.UIButtonPlay setTitle:@"Play" forState:UIControlStateNormal];
    speechPaused = NO;
    [self.synthesizer pauseSpeakingAtBoundary:AVSpeechBoundaryImmediate];
    NSLog(@"paused");

}
if (self.synthesizer.speaking == NO) {
    AVSpeechUtterance *utterance = [[AVSpeechUtterance alloc] initWithString:combined];
[self.synthesizer speakUtterance:utterance];

stringWithFormat
的第一个参数不是格式说明符

这一行:

NSString *combined = [NSString stringWithFormat:speekone, speektwo];
应成为:

NSString *combined = [NSString stringWithFormat:@"%@ %@", speekone, speektwo];