我对 Objective-C 很陌生,需要一点帮助。我有一系列歌曲:
{
artist = "Bernard Herrmann";
duration = "2:34";
id = 5;
title = "Torn Curtain: The Unused Score";
},
{
artist = "Miklos Razsa";
duration = "3:47";
id = 6;
title = "Ivanhoe [Original]";
},
...etc.
我想遍历数组,将持续时间(当前NSStrings
)转换为我可以用来表示实际经过时间的东西,然后将它们相加,以便我可以计算播放播放列表的总时间。我已经开始研究循环:
更新:
- (NSInteger)convertDuration
{
NSInteger totalSeconds=0;
for(NSMutableArray *song in playlist){
NSString *durationString = [playlist valueForKey:@"duration"];
NSArray *breakMinSec = [durationString componentsSeparatedByString:@":"];
NSInteger sec = [breakMinSec[1]integerValue];
NSInteger min = [breakMinSec[0]integerValue];
totalSeconds += ( sec + min * 60 );
}
return totalSeconds;
}
现在看起来,durationString 正在拉动第一次迭代中的所有持续时间。它不会像这样编译。我如何确保每次迭代只获得一个持续时间?