Я строю медиа-scrobbler. То, что я хочу, чтобы программа выполняла, - это определить носитель из iTunes/MPlayer и отправить программу через API. Я потерял эту часть, но когда один и тот же заголовок и сегмент мультимедиа (трек/эпизод) сравнивается с этим оператором If, он повторяет одно и то же действие, которое я не хочу, чтобы программа выполняла.Проблема с операторами If
Вот проблемный код, который я прохожу:
if ([[segment stringValue] length] == 0 || [[mediatitle stringValue]length] == 0) {
// Do Nothing
}
else if ([mediatitle stringValue] == ScrobbledMediaTitle && [segment stringValue] == ScrobbledMediaSegment && scrobblesuccess == 1) {
// Do Nothing
}
else {
int httperror = [self scrobble];
switch (httperror) {
case 200:
[scrobblestatus setObjectValue:@"Scrobble Successful..."];
[GrowlApplicationBridge notifyWithTitle:@"Scrobble Successful"
description:[NSString stringWithFormat:@"%@ - %@", [mediatitle stringValue], [segment stringValue]]
notificationName:@"Message"
iconData:nil
priority:0
isSticky:NO
clickContext:[NSDate date]];
ScrobbledMediaTitle = [mediatitle stringValue];
ScrobbledMediaSegment = [segment stringValue];
scrobblesuccess = YES;
//Set up Delegate
Melative_ExampleAppDelegate* appDelegate=[NSApp delegate];
//Set last successful scrobble to statusItem Tooltip
[appDelegate setStatusToolTip:[NSString stringWithFormat:@"MelScrobbleX - Last Scrobble: %@ - %@", [mediatitle stringValue], [segment stringValue]]];
NSLog(@"ScrobbledMediaTitle = %@", ScrobbledMediaTitle);
NSLog(@"ScrobbledMediaSegment = %@" , ScrobbledMediaSegment);
NSLog(@"BOOL = %d", (int)scrobblesuccess);
break;
case 401:
// Set Status
[scrobblestatus setObjectValue:@"Unable to Scrobble..."];
[GrowlApplicationBridge notifyWithTitle:@"Scrobble Unsuccessful"
description:@"Check your login information and try scrobbling again."
notificationName:@"Message"
iconData:nil
priority:0
isSticky:NO
clickContext:[NSDate date]];
scrobblesuccess = NO;
break;
default:
// Set Status
[scrobblestatus setObjectValue:@"Unable to Scrobble..."];
[GrowlApplicationBridge notifyWithTitle:@"Scrobble Unsuccessful"
description:[NSString stringWithFormat:@"Unknown Error. Error %i", httperror]
notificationName:@"Message"
iconData:nil
priority:0
isSticky:NO
clickContext:[NSDate date]];
scrobblesuccess = NO;
break;
}
}
}
Я пытаюсь выяснить, с выходом NSLog и это то, что я получаю:
2010-08-01 21:58:56.935 MelScrobbleX[7775:a0f] ScrobbledMediaTitle = (null)
2010-08-01 21:58:56.935 MelScrobbleX[7775:a0f] ScrobbledMediaSegment = (null)
2010-08-01 21:58:56.935 MelScrobbleX[7775:a0f] BOOL = 0
2010-08-01 21:58:56.935 MelScrobbleX[7775:a0f] mediatitle = Lia COLLECTION ALBUM "SPECTRUM RAYS"
2010-08-01 21:58:56.936 MelScrobbleX[7775:a0f] mediasegment = Tori no Uta -StripE REMIX-
2010-08-01 21:58:56.936 MelScrobbleX[7775:a0f] Scrobbled
2010-08-01 21:58:56.936 MelScrobbleX[7775:a0f] ScrobbledMediaTitle = Lia COLLECTION ALBUM "SPECTRUM RAYS"
2010-08-01 21:58:56.936 MelScrobbleX[7775:a0f] ScrobbledMediaSegment = Tori no Uta -StripE REMIX-
2010-08-01 21:58:56.936 MelScrobbleX[7775:a0f] BOOL = 1
2010-08-01 21:59:06.709 MelScrobbleX[7775:a0f] ScrobbledMediaTitle = Lia COLLECTION ALBUM "SPECTRUM RAYS"
2010-08-01 21:59:06.709 MelScrobbleX[7775:a0f] ScrobbledMediaSegment = Tori no Uta -StripE REMIX-
2010-08-01 21:59:06.710 MelScrobbleX[7775:a0f] BOOL = 1
2010-08-01 21:59:06.710 MelScrobbleX[7775:a0f] mediatitle = Lia COLLECTION ALBUM "SPECTRUM RAYS"
2010-08-01 21:59:06.710 MelScrobbleX[7775:a0f] mediasegment = Tori no Uta -StripE REMIX-
2010-08-01 21:59:06.711 MelScrobbleX[7775:a0f] Scrobbled
2010-08-01 21:59:06.711 MelScrobbleX[7775:a0f] ScrobbledMediaTitle = Lia COLLECTION ALBUM "SPECTRUM RAYS"
2010-08-01 21:59:06.711 MelScrobbleX[7775:a0f] ScrobbledMediaSegment = Tori no Uta -StripE REMIX-
2010-08-01 21:59:06.711 MelScrobbleX[7775:a0f] BOOL = 1
не могу понять причина, по которой оператор IF не срабатывает, поскольку значения одинаковы, а scrobbleSuccess - true.
Я только что редактировал ваше сообщение. В следующий раз, пожалуйста, отформатируйте код – vodkhang
Objective-C болит мои глаза ... –
Извините, что ... Он не вставлял правильно ...> _ < – chikorita157