Objective c NSObject类中未调用iOS委托方法
我想在没有预览的情况下从相机拍摄一张照片 尽管我能够在AVFoundation框架的帮助下使用UIViewController完成这项工作 但是现在我必须在没有ViewController的情况下执行同样的操作 #发行 当我尝试对NSObject类执行相同操作时,不会调用AVCapturePhotoCaptureDelegate 测试摄像机Objective c NSObject类中未调用iOS委托方法,objective-c,delegates,avfoundation,Objective C,Delegates,Avfoundation,我想在没有预览的情况下从相机拍摄一张照片 尽管我能够在AVFoundation框架的帮助下使用UIViewController完成这项工作 但是现在我必须在没有ViewController的情况下执行同样的操作 #发行 当我尝试对NSObject类执行相同操作时,不会调用AVCapturePhotoCaptureDelegate 测试摄像机 #import <AVFoundation/AVFoundation.h> NS_ASSUME_NONNULL_BEGIN @interfa
#import <AVFoundation/AVFoundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface TestingCamera : NSObject <AVCapturePhotoCaptureDelegate> {
AVCaptureSession *captureSession;
AVCapturePhotoOutput *photoOutput;
AVCapturePhotoSettings *photoSetting;
AVCaptureConnection *captureConnection;
}
@property(nonatomic, assign) id <AVCapturePhotoCaptureDelegate> delegate;
- (void) takePictureWithNoPreviewFrontFacingCamera;
@end
NS_ASSUME_NONNULL_END
我从另一个ViewController调用该方法,如下所示
- (IBAction) testPicture:(id)sender {
TestingCamera *noPreviewCamera = [[TestingCamera alloc] init];
[noPreviewCamera takePictureWithNoPreviewFrontFacingCamera];
}
猜测:对象将在调用委托方法之前释放。尝试将TestingCamera*noPreviewCamera声明为@property(非原子,字符串),TestingCamera*noPreviewCamera;`例如,正是。。。。。感谢lotGuess:对象将在调用委托方法之前释放。尝试将TestingCamera*noPreviewCamera声明为@property(非原子,字符串),TestingCamera*noPreviewCamera;`例如,正是。。。。。谢谢
- (IBAction) testPicture:(id)sender {
TestingCamera *noPreviewCamera = [[TestingCamera alloc] init];
[noPreviewCamera takePictureWithNoPreviewFrontFacingCamera];
}