我有一个 UITableViewCell 并想将自定义对象绑定(bind)到它。我知道的唯一选择是创建一个自定义单元格,如:

MyCustomCell *cell = [[MyCustomCell alloc] initWithFrame:<SomeFrame>];
customCell.myProperty = someObject;

我很想知道 Objective C 是否提供了任何其他方式来做到这一点,而不是创建 customCell。

在阅读时,我点击了这个文档 NSObject valueForUndefinedKey:

我尝试了以下操作,应用程序崩溃了。
UITableViewCell *cell = [[UITableViewCell alloc] initWithFrame:<SomeFrame>];
[cell setValue:someObject forUndefinedKey:@"SomeObject"];

崩溃日志显示:
*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UITableViewCell 0x5a846c0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key SomeObject.'

请帮我解决一下这个。

最佳答案

您可以使用 associated objects 来避免子类化。至于 setValue:forKey:setValue:forUndefinedKey: ,请查看头文件(NSKeyValueCoding.h)了解详情。

关于iphone - UITableViewCell - setValue : forUndefinedKey:,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9272806/

10-13 04:01