Hel*_*ang 12 properties objective-c ios
我声明我的.h文件是这样的:
#import <UIKit/UIKit.h>
@interface NavigationTripViewController : UIViewController <UIPickerViewDelegate, UIPickerViewDataSource>{
NSArray *questionTitleTrip;
NSArray *questionDescTrip;
NSMutableArray *answerTrip;
NSMutableArray *pickerChoices;
int questionInt;
int totalInt;
IBOutlet UILabel *questionNum;
IBOutlet UILabel *questionTotalNum;
IBOutlet UILabel *recordType;
IBOutlet UITextView *questionDes;
IBOutlet UIView *answerView;
IBOutlet UIButton *preButton;
IBOutlet UIButton *nextButton;
UITextField *text;
UIPickerView *picker;
}
@property (retain, nonatomic) NSArray *questionTitleTrip;
@property (retain, nonatomic) NSArray *questionDescTrip;
@property (retain, nonatomic) NSMutableArray *answerTrip;
@property (retain, nonatomic) NSMutableArray *pickerChoices;
@property (retain, nonatomic) IBOutlet UILabel *questionNum;
@property (retain, nonatomic) IBOutlet UILabel *questionTotalNum;
@property (retain, nonatomic) IBOutlet UILabel *recordType;
@property (retain, nonatomic) IBOutlet UITextView *questionDes;
@property (retain, nonatomic) IBOutlet UIView *answerView;
@property (retain, nonatomic) IBOutlet UIButton *preButton;
@property (retain, nonatomic) IBOutlet UIButton *nextButton;
@property (retain, nonatomic) UITextField *text;
@property (retain, nonatomic) UIPickerView *picker;
-(IBAction)clickPre;
-(IBAction)clickNext;
@end
Run Code Online (Sandbox Code Playgroud)
我的.m文件就像这样:
#import "NavigationTripViewController.h"
#import <QuartzCore/QuartzCore.h>
@interface NavigationTripViewController ()
@end
@implementation NavigationTripViewController
@synthesize questionTitleTrip,questionDescTrip,answerTripl,pickerChoices,questionNum,questionTotalNum,recordType,questionDes,answerView,preButton,nextButton,text,picker;
Run Code Online (Sandbox Code Playgroud)
我的所有变量都@synthesize收到警告:
自动合成属性'myVar'将使用合成的实例变量'_myVar',而不是现有的实例变量'myVar'
此外,使用的变量和类名viewDidLoad不以颜色显示,只显示为黑色.在其他视图控制器中,没有这样的警告.如何解决这些问题?
Gra*_*yer 22
编辑:基本上对于所有意图和目的,你应该建立一个足够新的XCode来使用新的行为,在该解决方案中,你通常只是从文件中的@interface块中删除ivar .h...如果由于某种原因你需要直接访问ivar你现在可以在@implementation块中声明它...并使用@synthesize var或@synthesize var=_var
OGPost:
为了让它消失你可以去所有新学校放弃iVar,或者你可以去所有的旧学校并@synthesize someIvar在你的@implementation街区添加一个.
| 归档时间: |
|
| 查看次数: |
10560 次 |
| 最近记录: |