I m在代码(无一B)中填满一子,请打电话ContentView。 在这方面,我已经为声音和视频以及一些图像评论(无专业)建立了几个参与者。
其次,我计划分级ContentView,以便把不同的媒体装上每种观点。 所有这些观点都有相同的观点控制者,因为对所有这些观点的接口相同,只有内容(声音、录像和图像)才会改变。
因此,我处理这一问题的方法是,在ContentView上,以的形式,宣布
static NSString *const
,因为我将重新加以利用,为每一种观点装上不同的媒体,而不要将其用全球名称。
这里有一些模拟法,表明了我所说的话:
内容提要
@interface ContentView : UIView {
NSString *const kSoundFile1;
NSString *const kSoundFile2;
NSString *const kSoundFileType;
NSString *const kMovieFile1;
NSString *const kMovieFile2;
NSString *const kMovieFileType;
NSString *const kImage1;
NSString *const kImage2;
内容提要 观点,例如,
@implementation ContentView
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
NSString *filePath1 = [[NSBundle mainBundle] pathForResource: kSoundFile1
ofType: kSoundFileType;
NSURL *url1 = [[NSURL alloc] initFileURLWithPath:filePath1];
AVAudioPlayer *audioPlayer1 = [AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];
[audioPlayer1 prepareToPlay];
[url1 release];
... and so on, for the rest of the sound files and movies (except for the images, for which i m using imageNamed:
).
然后,在<>ContentView每一次下级的执行档案上公布。 我只是这样:
@implementation ContentViewSubclass
static NSString *const kSoundFile1 = @"sound1";
static NSString *const kSoundFile2 = @"sound2";
static NSString *const kSoundFileType = @"wav";
static NSString *const kMovieFile1 = @"movie1";
static NSString *const kMovieFile2 = @"movie2";
static NSString *const kMovieFileType = @"mov";
static NSString *const kImage1 = @"image1.png";
static NSString *const kImage2 = @"image2.png";
@end
我不能做这项工作。 没有任何编辑错误或警告,根本就没有作用或显示。 我做的是错的,或者说,这不是正确对待问题的办法?
我确实会赞赏一些见解。 提前感谢。