我想要做的是使用方法从另一个类获取NSInteger,然后使用在IBAction中获取的值。
所以在我的.h文件中,我有:
@property (nonatomic) NSInteger row;
-(void) selectedRow : (NSInteger) selectedRow;
-(IBAction)changeName:(id)sender;
在我的.m文件中:
@synthesize row;
-(void) selectedRow : (NSInteger) selectedRow {
row = selectedRow; //I tried also self.row
}
-(IBAction)changeName:(id)sender {
NSLog(@"row = %lu", (long)row); //To keep it simple.
当我在行上调试时,它告诉我,该行获得了另一个类的值,但在IBAction中为0。
能否请别人告诉我我做错了什么?
最佳答案
尝试这个...
-(void) selectedRow : (NSInteger) selectedRow {
//row = selectedRow; //I tried also self.row
[[NSUserDefaults standardUserDefaults] setInteger:selectedRow forKey:@"Row"];
}
-(IBAction)changeName:(id)sender {
NSInteger selectedRow = [[NSUserDefaults standardUserDefaults] integerForKey:@"Row"];
NSLog(@"row = %ld",(long)selectedRow); //To keep it simple.
}
斯威夫特4
func selectedRow(selectedRow:Int) -> Void {
UserDefaults.standard .set(selectedRow, forKey: "Row")
}
@IBAction func changeName(_ sender: AnyObject) {
let selectedRow = UserDefaults.standard .integer(forKey: "Row")
print("row = \(selectedRow)")
}