我有一个单身CarteManager,它由一个数组carteMan of carte
组成 @interface CartesManager : NSObject {
NSMutableArray *carteMan ;
}
@interface Carte : NSObject {
NSString *titre ;
NSString *commentaire ;
UIImage *image1 ;
UIImage *image2 ;
NSMutableArray *information ;
}
之后我不会将CarteMan中的所有图片分配到数组图像
- (id)init
{
int i ;
if (self = [super initWithNibName:nil bundle:nil])
{
NSMutableArray * images =[[[NSMutableArray alloc]init]autorelease];
for (i=0; i<([[CartesManager sharedInstance].carteMan count]); i++) {
[images addObject:[[[[CartesManager sharedInstance]carteMan]image1]indexOfObject:i]]; //don"t work
}
self.view = [[[SlideShowView alloc] initWithImages:images] autorelease];
}
return self;
}
答案 0 :(得分:1)
封装如此多的对象和方法是通过搜索错误来驱使你疯狂的最好方法; - )
一步一步地做,你会得到正确的答案:
我敢肯定,解决方案将是这样的:(但)
CartesManager *cartesManager = [CartesManager sharedInstance];
[images addObject:[[cartesManager image1] objectAtIndex:i]];
(但)我没有真正得到CartesManager的结构。 CartesManager是否有“image1” - 带图像的阵列?或者你可以发布你的CartesManager.h吗?
好的,我看了你的编辑,但我仍然不确定你想要什么; - )
可能是这样的吗?
CartesManager *cartesManager = [CartesManager sharedInstance];
Carte *carte = [[Carte alloc] init];
carte = [cartesManager carteMan] objectAtIndex:i]
[images addObject:[carte image1]];
[images addObject:[carte image2]];
答案 1 :(得分:0)
你正在那个呼叫巢内的某个地方有效地召唤,
[carteMan image1]
其中carteMan
是NSMutableArray
。那不行!我想你要交换image1
和objectAtIndex:i
的顺序。 (你实际上写了indexOfObject
,但我认为你不是这个意思。)因此:
[images addObject:[[[[CartesManager sharedInstance] carteMan] objectAtIndex:i] image1]];