这是我的 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”被激活)。
删除并重新插入空格可解决此问题。