我想检查文件是否存在并根据结果设置按钮,但我每次都从函数 getAudiofileName 获得 nil 值。这是设计此功能的更好方法。我怎样才能以一种好的方式做到这一点。我在这部分苦苦挣扎。谁能指出我出了什么问题。
NSString *audioFile = [self getAudiofileName:indexPath.row];
NSLog(@"audiofile=%@",audioFile); // Getting nil everty time
if (!audioFile) {
[SoundsCell.customBtn setImage:[UIImage imageNamed"down.png"] forState:UIControlStateNormal];
[playBtn setEnabled:NO];
} else {
[SoundsCell.customBtn setImage:[UIImage imageNamed"listen.png"] forState:UIControlStateNormal];
[playBtn setEnabled:YES];
}
[SoundsCell.customBtn addTarget:self actionselector(getconnection forControlEvents:UIControlEventTouchUpInside];
SoundsCell.selectionStyle = UITableViewCellSelectionStyleNone;
[delegate.delArrAlbumDetailCell addObject:SoundsCell];
return SoundsCell;
}
- (NSString *)getAudiofileNameint)IndexRow{
NSLog(@"delegate.SoundsArr %d",[delegate.SoundsArr count]);
selectedClip = [delegate.SoundsArr objectAtIndex:IndexRow];
NSString *toendstring;
NSString *temp = [NSString stringWithFormat"%@.mp3", selectedClip.clip_name];
NSLog(@"temp = %@", temp );
NSLog(@"temp = %@", selectedClip.clip_url );
if (temp != nil)
{
toendstring = temp;
NSLog(@"toendString =%@", toendstring);
}
NSString *audioFilePath = [NSString stringWithFormat"%@/%@",self.dataPath,toendstring];
NSLog(@"playing audioFilePath =%@", audioFilePath);
NSFileManager *filmanager = [NSFileManager defaultManager];
if([filmanager fileExistsAtPath:audioFilePath])
{
return toendstring;
}
else
{
return nil;
}
}
提前致谢
一般评论:
IBOutlet
而不是遍历 nib 顶级对象 - 它更简单。nil
getAudioFileName:
中的 temp 永远不会有零长度(尽管它可能是 nil
)if (cell == nil)
block 中;或者更好的是,在 Nib 中进行。现在答案。重复使用时单元格可以是任何状态,因此您需要设置下载和播放,例如:
if (!audioFile) {
[SoundsCell.customBtn setImage:[UIImage imageNamed"DOWNLOAD.png"] forState:UIControlStateNormal];
[playBtn setEnabled:NO];
} else {
[SoundsCell.customBtn setImage:[UIImage imageNamed"LAY.png"] forState:UIControlStateNormal];
[playBtn setEnabled:YES];
}
您可能需要更改操作。
关于ios - 检查文件是否存在于路径中并根据结果设置按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8062273/
欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://jike.in/) | Powered by Discuz! X3.4 |