我在 SQLite 中有一个表,我想在该表中插入数据。该表有 responses_id、participant_id、answer_text、answer_option_update_date_time。 responses_id 和 participant_id 是整数。当我将任何东西分配给 participant_id 时,它会出错,对象无法设置为属性。
@interface Coffee : NSObject {
NSInteger coffeeID;
NSInteger participant_Id;
NSString*question_Id;
NSString*answer_option;
NSString*answer_text;
NSString*update_date_time;
//Intrnal variables to keep track of the state of the object.
}
@property (nonatomic, readonly) NSInteger coffeeID;
@property (nonatomic, retain) NSInteger participant_Id;
@property (nonatomic, copy) NSString *question_Id;
@property (nonatomic, copy) NSString *answer_option;
@property (nonatomic, copy) NSString *answer_text;
@property (nonatomic, copy) NSString *update_date_time;
- (void)save_Local {
CereniaAppDelegate *appDelegate = (CereniaAppDelegate *)[[UIApplication sharedApplication] delegate];
Coffee *coffeeObj = [[Coffee alloc] initWithPrimaryKey:0];
coffeeObj.participant_Id=mynumber;
NSString*question="1";
coffeeObj.question_Id=question;
coffeeObj.answer_option=selectionAnswerOption;
coffeeObj.answer_text=professionTextField.text;
NSDate* date = [NSDate date];
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd HH:MM:SS"];
NSString* str = [formatter stringFromDate:date];
UPDATE_DATE_TIME=str;
coffeeObj.update_date_time=UPDATE_DATE_TIME;
//Add the object
[appDelegate addCoffee:coffeeObj];
}
当我为 participant_id 赋值时出现错误。
最佳答案
NSInteger
不是一个类,它是一个基本类型,如 int
或 long
。在 iOS 上 NSInteger
被 typedef
编辑为 int
,在 OS X 上它被 typedef
编辑为 长
。因此,您不应尝试保留
NSInteger
。您应该将属性(property)声明更改为:
@property (nonatomic, assign) NSInteger participant_Id;
您的 coffeeID
属性也是如此。
关于iphone - 在 iPhone App 中分配 NSInteger 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12275423/