AVCaptureStillImageOutput

AVCaptureStillImageOutput

这是我的 viewcontroller.h 文件:

#import <UIKit/UIKit.h>
#import <CoreData/CoreData.h>
#import <CoreLocation/CoreLocation.h>
#import <AVFoundation/AVFoundation.h>
#import <CoreMedia/CoreMedia.h>
#import <ImageIO/ImageIO.h>
#import <CoreVideo/CoreVideo.h>


@interface ViewController : UIViewController <UINavigationControllerDelegate,  CLLocationManagerDelegate>

@property (nonatomic, strong) NSManagedObjectContext *managedObjectContext;
@property(nonatomic, weak) IBOutlet UIImageView *selectedImageView;
@property(nonatomic, retain) IBOutlet UIImageView *vImage;
@property(nonatomic, retain) AVCaptureStillImageOutput *stillImageOutput;

- (IBAction)photoFromAlbum;
- (IBAction)photoFromCamera;
- (IBAction)saveImageToAlbum;
- (IBAction)segueToChoosePhotoTypeViewController;

@end

线路:
@property(nonatomic, retain) AVCaptureStillImageOutput *stillImageOutput;

正在产生以下问题:
Expected ; at end of declaration list.

Xcode 没有将 AVCaptureStillImageOutput 识别为一个类,因为它仍然是黑色的,并且不建议将它作为一种类型,并且“Fix-it”想要在 AVCaptureStillImageOutput 之后立即插入 ;

但是,如果我尝试在 viewController.m 文件的 viewDidLoad 中使用声明 AVCaptureStillImageOutput 作为类型,它会识别它并允许它作为一种类型。此外,其余的 AVFoundation 类正在那里的代码中被识别。

框架就在那里,我只是遇到了这个 @property 声明的问题。

最佳答案

在你的行

@property(nonatomic, retain) AVCaptureStillImageOutput *stillImageOutput;

AVCaptureStillImageOutput*stillImageOutput 之间有一些 不可见字符 。如果我将此行粘贴到 vi 编辑器中,它看起来像这样:
@property(nonatomic, retain) AVCaptureStillImageOutput<feff><feff><feff><feff><feff> *stillImageOutput;

(U+FEFF 是一个 Unicode Byteorder 标记,它在 Xcode 中看起来像一个普通的空间,即使“Show Invisibles”被激活)。

删除并重新插入空格可解决此问题。

10-05 21:36