0

我确信这是一个非常愚蠢的问题,但我在互联网上的任何地方都找不到它,或者可能看起来错了。

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController <UIImagePickerControllerDelegate, UINavigationControllerDelegate>  
{    
//how do i fit this code--> idUIAccelerometerDelegate
//into the interface where it is the only place it can work?
    IBOutlet UIImageView *imageView;
    UIImage *image;
    UIImagePickerController *imagePicker;
    UIImagePickerController *imagePicker2;
  //the code above is already linked with the @interface at the top thingy.


 //but now i also want to link the @accelerometer but it won't let me without any errors.
    float valueX;
    float valueY;

}
@property (nanotomic,strong)  IBOutlet UIButton *snow;

-(void)awakeAccelerometer;
-(void)acc

- (IBAction)takePhoto;
- (IBAction)chooseExisting;

@end

谢谢你的帮助对不起,如果我浪费了你的时间。如果你愿意,一定要给我投反对票。

4

2 回答 2

0

我想我理解这个问题 - 如果是这样,答案是这条线

id <UIAccelerometerDelegate>

是不完整的(声明一个变量而不命名它,也没有终止;)。尝试

 id <UIAccelerometerDelegate> delegate;

您可以将它放在@interface 中所有其他实例变量声明的位置之间{的任何行上。}例如,您//comment现在的第一个确切位置。

你也有一个错字

nanotomic应该nonatomic

更新
虽然我认为我按照您的要求回答了您的问题,但您应该忽略我的建议并遵循@Volure DarkAngel 的回答。我专注于语法,而不是您试图实现的任务。

于 2012-12-17T18:36:25.787 回答
0

我相信您希望您的对象从加速度计接收消息,如果这是真的,那么您不想添加委托,您想成为委托。

你的类将符合 UIAccelerometerDelegate 就像它符合 UIImagePickerControllerDelegate 和 UINavigationControllerDelegate 并且看起来像这样

// Your new interface line.
@interface ViewController : UIViewController <UIAccelerometerDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate>  

并且您将以下功能添加到您的课程中

- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration{
    // Handle the accelorometer and acceleration objects to determine what happened.
}

请注意,此方法在 ios 5 中已弃用,现在您应该研究 Core Motion。这应该仍然适用于 ios 6,但它很有可能会在不久的将来消失。

于 2012-12-17T19:06:12.907 回答