我有一个字符串,其值不断更改/更新,我希望将其绑定到我的cell.textLabel.text。我怎么能这样做?
这类似于我们在iphone上的日期选择器......每当我们更改选择器视图值时,单元格都会更新
这是我如何制定的:
@interface DatePickerViewController : UIViewController <UITableViewDelegate, UITableViewDataSource> {
UITableView * date;
UIDatePicker * datePicker;
NSString * dateString;
}
@property(nonatomic, retain) IBOutlet UITableView * date;
@property(nonatomic, retain) IBOutlet UIDatePicker * datePicker;
- (IBAction)dateChangedAction:(id)sender;
@end
答案 0 :(得分:1)
由于您使用的是日期选择器
// when creating datePicker object
[datePicker addTarget:self action:@selector(changeDateInCell:)
forControlEvents:UIControlEventValueChanged];
创建响应事件的方法
- (void)changeDateInCell:(id)sender{
//Use NSDateFormatter to get string
NSDateFormatter *df = [[NSDateFormatter alloc] init];
df.dateStyle = NSDateFormatterMediumStyle;
NSString * text = [NSString stringWithFormat:@"%@",
df stringFromDate:datePicker.date]];
// do something to set the cell data with the text...
// clean up
[df release];
}
答案 1 :(得分:0)
如果字符串是某个对象的属性(或者可以这样暴露),我将使用键值观察器(KVO)。使用addObserver:forKeyPath:options:context:当属性值发生变化时,您可以获得回调(observeValueForKeyPath:ofObject:change:context :),并相应地更新单元格。如果您的单元格是自定义单元格,则可以将该功能包装在单元格中,否则可以将其放置在视图控制器中。