我正在为iOS 7开发,但我仍然必须手动编写getter,否则我的属性不会被初始化。我试图手动合成这些属性,即使不再需要这些属性,但那不行。属性不会在iOS 7中初始化
在我的视图控制器下面,我使用属性motionTracker
,它永远不会被初始化。我的所有项目都有同样的问题,所以我知道这是我的一个误解。
#import "ViewController.h"
#import "TracksMotion.h"
@interface ViewController()
@property (weak, nonatomic) IBOutlet UIButton *startRecording;
@property (weak, nonatomic) IBOutlet UIButton *stopRecording;
@property (strong, nonatomic) TracksMotion *motionTracker;
@end
@implementation ViewController
@synthesize motionTracker = _motionTracker;
- (void)startMyMotionDetect
{
[self.motionTracker startsTrackingMotion];
}
@end
的motionTracker
有方法startsTrackingMotion
一个公共的API,所以我不知道为什么这是行不通的。
#import <Foundation/Foundation.h>
#import <CoreMotion/CoreMotion.h>
@interface TracksMotion : NSObject
- (void)startsTrackingMotion;
- (void)stopTrackingMotion;
@property (strong, nonatomic) CMMotionManager *motionManager;
@end
基本上,做self.motionTracker = [[TrackerMotion alloc] init ]。我认为这甚至不是必需的,我认为该属性会在需要时创建,只需使用self.property即可。谢谢! –
@BillCapelli除非这不是指定的初始值设定项。 – matt