Это для моего iCarouselViewController.m
Получение ошибок с использованием iCarousel
- (void)dealloc
{
//it's a good idea to set these to nil here to avoid
//sending messages to a deallocated viewcontroller
carousel1.delegate = nil;
carousel1.dataSource = nil;
carousel2.delegate = nil;
carousel2.dataSource = nil;
[carousel1 release];
[carousel2 release];
[items1 release];
[items2 release];
[super dealloc];
}
Я получаю сообщение об ошибке говорящее
«релиз» недоступен: не доступен в автоматическом режиме счета ссылка
ARC запрещает явное сообщение «освобождение»
«релиз» недоступен: не доступен в автоматическом режиме режим подсчета
ARC forbid с явным сообщение о «выпуска»
«выпуска» недоступно: не доступно в автоматическом справочнике режиме счета
АРК запрещает явное сообщение отправить из «выпуска»
«выпуск» недоступен: не доступен в автоматической ссылке режим подсчета
ARC запрещает явное сообщение посыла 'выпуска'
ARC запрещает явное сообщение посыла 'dealloc'
и ошибок в этом коде Aswell
- (UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index reusingView:(UIView *)view
{
UILabel *label = nil;
//create new view if no view is available for recycling
if (view == nil)
{
view = [[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 200.0f, 200.0f)] autorelease];
((UIImageView *)view).image = [UIImage imageNamed:@"page.png"];
view.contentMode = UIViewContentModeCenter;
label = [[[UILabel alloc] initWithFrame:view.bounds] autorelease];
label.backgroundColor = [UIColor clearColor];
label.textAlignment = UITextAlignmentCenter;
label.font = [label.font fontWithSize:50];
[view addSubview:label];
}
else
{
label = [[view subviews] lastObject];
}
говоря
'autorelease' недоступен: не доступен в автоматическом справочнике режиме счета
ARC запрещает явное сообщение посыла 'autorelease'
'autorelease' недоступен: не доступен в автоматической режим подсчета ссылок
ARC запрещает явное сообщение отправить «автореферат»
Как удалить эту ошибку.
Обновление
Благодарим за ответ. У меня только 4 ошибки, говорящих об использовании незаявленного идентификатора imageArray1. и я знаю, что это происходит. Я просто не понимаю: «Я предполагаю, что вы просто используете пакет приложений, и у нас есть два массива NSString, которые относятся к каждому изображению: imageArray1 и imageArray2». Ниже приведен один из моих кодов сохранения и создание каталога для одного из моих каталогов. Примечание. У меня есть только один NSMutableArray, называемый allImagesArray, который я объявил в файле заголовка.
NSArray *directoryNames = [NSArray arrayWithObjects:@"Apple",nil];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents folder
for (int i = 0; i < [directoryNames count] ; i++) {
NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:[directoryNames objectAtIndex:i]];
if (![[NSFileManager defaultManager] fileExistsAtPath:dataPath])
[[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:NO attributes:nil error:nil]; //Create folder
NSString *folderPath = [documentsDirectory stringByAppendingPathComponent:@"Tops"]; NSData *imageData = UIImagePNGRepresentation(captureImage.image);
time_t unixtime = (time_t)[[NSDate date]timeIntervalSince1970];
NSString *timestamp = [NSString stringWithFormat:@"%ldTopsImage.PNG",unixtime];
NSString *filePath = [folderPath stringByAppendingPathComponent:timestamp];
[imageData writeToFile:filePath atomically:YES];
}
}
Update 4
это?
- (void)viewDidLoad
{
[super viewDidLoad];
//configure carousel
imageArray1 = [[NSMutableArray alloc] init];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *[email protected]"apple";
NSString *fPath = [documentsDirectory stringByAppendingPathComponent:location];
NSArray * directoryContent = [[NSFileManager defaultManager] directoryContentsAtPath: fPath];
imageArray1 = directoryContent;
imageArray2 = [[NSMutableArray alloc] init];
NSString *[email protected]"green";
NSString *fPath = [documentsDirectory stringByAppendingPathComponent:location];
NSArray *directoryContent = [[NSFileManager defaultManager] directoryContentsAtPath: fPath];
imageArray2 = directoryContent;
Вы сохраняете изображения в песочнице. Извлеките каждый путь изображения (который будет в NSString) и создайте imageArray1 с этими строками, чтобы загружать изображения в карусель1 и соответственно создавать imageArray2. См. Мое редактирование, чтобы понять, как загрузить эти изображения с путей извлечения и показать в iCarousel. –
Извините, я смешиваю изображение imageArray1 и imageArray2. В моем случае я не думаю, что у меня есть массивы. – Radical
См. Я создал два массива, из которых вы упомянули две карусели. Теперь, как бы вы загрузили изображения в две карусели из одного массива? если вы хотите использовать единый массив, вы должны сказать, что в массиве первые десять изображений предназначены для Carousel1, а все остальные изображения для Carousel2.Это не кажется мне практичным. Поэтому я создал два массива. Изучаем, как создать эти два массива из путей изображения. Как я уже сказал, вам нужно научиться и понять NSFileManager для этого случая. Это не сложно, вам просто нужно продолжать толкать, продолжать учиться. –