【发布时间】:2016-01-17 14:28:05
【问题描述】:
我需要在 CameraSessionView 之间传回 NSMutableArray 照片;如何将相机拍摄的照片存储在 NSMutableArray 上,以及 TableViewController 如何将这些照片上传到 DropBox。我正在使用委托和协议,但我尝试的所有方式......都失败了。 任何人都可以帮助我。我认为我做错了一些小事。 我给你看一些代码:
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。
onTapOKButton 上的 self.delegado 始终为零。
看起来很简单,但我无法运行它。 如果有人可以帮助我或向我推荐任何教程,我将不胜感激......
谢谢!!
【问题讨论】:
-
你没有在 PhotosTableViewContoller 中实现 -(void)uploadPhotosFromCamera:(NSMutableArray*)photos;我认为这几乎就是缺少的东西。
标签: ios objective-c delegates tableview