Мне нужно передать NSMutableArray фотографий между CameraSessionView; как сохранить фотографии, снятые с камеры на NSMutableArray, и TableViewController, как загрузить эти фотографии в DropBox. Я использую делегаты и протоколы, но все способы, которые я пробовал, терпят неудачу. Любой может мне помочь. Я думаю, что я делаю что-то неправильно. я покажу вам код:Передача информации между делегатами по ObjectiveC
CameraSessionView.h
@class CameraSessionView;
@protocol CameraSessionViewDelegate <NSObject>
@optional
-(void)uploadPhotosFromCamera:(NSMutableArray*)photos;
@end
@property (nonatomic, weak) id <CameraSessionViewDelegate> delegado;
CameraSessionView.m
@property (nonatomic, strong) NSMutableArray* images;
- (void)onTapOkButton{
NSLog(@"Save photos");
if([self.delegado respondsToSelector:@selector(uploadPhotosFromCamera:)])
[self.delegado uploadPhotosFromCamera:_images];
[self onTapDismissButton];
}
PhotosTableViewController.h
@interface PhotosTableViewController : UITableViewController <CameraSessionViewDelegate>
PhotosTableViewController.m
@property (nonatomic, strong) CameraSessionView *camera;
- (void)viewDidLoad
{
_camera = [CameraSessionView new];
[_camera setDelegado:self];
}
-(void)uploadPhotosFromCamera:(NSMutableArray*)photos
{
NSLog(@"UPFC");
for(int x=0; x < [photos count];x++)
{
NSLog(@"UPFC...");
UIImage *foto = [photos objectAtIndex:x];
if (foto.size.height > 1000 || foto.size.width > 1000)
foto = [self imageWithImage:foto scaledToScale:0.15f];
DBMetadata* datos = [TablaSubidas addFile:pathElemento];
NSFileManager *fileManager = [NSFileManager defaultManager];
NSData *data = UIImageJPEGRepresentation(foto, 1.0);
[fileManager createFileAtPath:[self photoPath:datos] contents:data attributes:nil];
[elementosTabla insertObject:datos atIndex:0];
}
[self sincFotos];
[self.tableView reloadData];
}
Только хочет, чтобы при нажатии кнопки OK фотографии отправляются обратно в PhotosTableViewController, где он будет загружен в Dropbox.
self.delegado on onTapOKButton всегда nil.
Выглядит легко, но я не могу его запустить. Я так благодарен, если кто-нибудь может мне помочь или порекомендовать мне какой-нибудь учебник ...
Спасибо!
Вы не ввели в PhotosTableViewContoller - (Недействительными) uploadPhotosFromCamera: (NSMutableArray *) фотографии; Я думаю, что это в значительной степени то, чего не хватает. – dirtydanee