- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 obj-c 和 cocoa 还很陌生,所以请耐心等待:
我有一个使用 cocoa 绑定(bind)设置的 NSTableView,它可以按预期使用我的 Nib 中 NSArrayController 实例提供的简单 -add -remove 等方法。我想以编程方式将对象添加到为此 Controller (以及 TableView )提供内容的数组,然后相应地更新 View 。
我当前有一种向数组添加新对象的工作方法(通过 NSLog 验证),但我不知道如何更新 TableView 。
那么:如何更新绑定(bind)的表格 View ?(即,在我以编程方式将对象添加到数组之后)。 我本质上是在使用粘合代码中的一些 View 刷新代码,例如 [view reloadData],但我希望它能够与我现有的绑定(bind)一起使用。
或者有KVC/KVO相关的解决方案来解决这个问题吗?
代码详细信息:AppController.h
@interface AppController : NSObject
@property NSMutableArray *clientsArray;
-(IBAction)addClientFooFooey:(id)sender;
@end
AppController.m(注意,我还有适当的 init 方法,此处未显示)
@implementation AppController
...
-(IBAction)addClientFooFooey:(id)sender{
[self.clientsArray addObject:[[Client alloc] initWithFirstName: @"Foo" andLastName:@"Fooey"]];
//Need some code to update NSTableView here
}
@end
Client.h 只是简单地定义了两个属性:firstName 和 lastName。我的 mainmenu.nib 文件中 NSTableView 的 2 列通过绑定(bind)到我的 AppController 实例的数组 Controller 适本地绑定(bind)到这些属性。
附注/作为替代方案。如何向现有 NSArrayController 方法 -add 添加功能,即: -addWithFirstName:andLastName 并仍然与绑定(bind)兼容?
最佳答案
如果您的数组 Controller 绑定(bind)到 clientsArray
,您有两个主要选项可以执行此操作。
第一种方法是仅使用数组 Controller 的 addObject:
方法,而不是直接将对象添加到 clientsArray
。
另一种方法是保留当前的 addClientFooFooey:
方法,但用这两行包装现有代码:
[self willChangeValueForKey:@"clientsArray"];
[self didChangeValueForKey@"clientsArray"];
这告诉 KVO 系统您正在对数组进行更改,因此它会再次查看它。
第一个选项是最简单的,但如果由于某种原因你需要直接更新数组,只需让 KVO 知道你正在这样做。
关于cocoa - 以编程方式更新由 Cocoa Bindings 管理的 TableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18778162/
我正在对 tableView 是否呈现单元格进行单元测试。 我发现 tableView.cellForRow(at:) 返回 nil,而 tableView.dataSource?tableView(
我有 Tableview 用于显示客户下的食品订单。其中包含水平 UIStackview。在 UIStackView UIStackview 中很少有一/两行标签和一个用于显示订单项的UITableV
我有 Viewcontroller,我在其中设置了 ScrollView 。在 scrollview 中,我有一个 tableview,它位于 Container 中,就在容器下方,当我将 table
我想在滚动时让我的第一个单元格始终位于 tableview 的顶部。 任何帮助都是可观的。提前致谢... 最佳答案 这是为 UITableView 创建标题 View 的方法 - (UIView *)
在我的应用程序中,我点击一行,它会在其下方展开另一行。我想生成一种随机颜色,当我单击一行时,行背景会变成该颜色,而它下面的展开行会变成相同的颜色。如何让行生成相同的随机颜色? 我创建了一个函数来生成随
我正在为这个问题苦苦挣扎,所以我需要你的帮助。基本上我已经编写了一个复杂的 TableView Controller (使用 NSFetchedResults 协议(protocol)等)并且已经在我
我正在使用 JavaFx 2.2。我遇到了一个问题,我无法在 TableView 列中放置不同的组件。例如我有两列 1) 回答 2) 答案类型 如果 AnswerType 包含“Multiple Ch
试图弄清楚如何在 javafx 2 中禁用表列的重新排序? 最佳答案 这是解决方案: tblView.getColumns().addListener(new ListChangeListener()
我一直在寻找有关将数据刷新到 tableview 的信息。我试图直接修改模型,但我遇到了一个错误。我修改了模型,但表格没有刷新,只有当我移动一列时,表格才会显示修改后的值。 为了给你展示一个例子(13
给定一个TableView,我需要检测单元格上的双击。 tableView.setOnMouseClicked(new EventHandler() { @Override publi
我成功创建了一个 TableView,其中将特定列分配给了数据模型类。该程序可以将 csv 文件解析为其中并在表中正确显示所有内容。在此阶段,滚动不是问题。 然后我想选择特定行并将它们发送到另一个表。
我尝试了所有方法来用数据填充 TableView。下一个代码在表中插入一个新行,但数据没有出现在表中。我试图为此找到解释,但没有成功。 请帮忙。我不知道怎么了。 在 controller.java 中
我尝试了所有方法来用数据填充 TableView。下一个代码在表中插入一个新行,但数据没有出现在表中。我试图为此找到解释,但没有成功。 请帮忙。我不知道怎么了。 在 controller.java 中
我有一个通过 Tableview 显示玩家的应用程序。用户可以“添加”一个新玩家并输入他的姓名、高度、体重、图片等...保存后将被添加到 Tableview 中。他们还可以点击每个玩家,然后将他们带到
对于大学,我必须编写一个小应用程序,其想法是创建一个小公式集合。这个概念是有一个类别列表,选择类别后您会收到一个公式列表。选择所需的公式后,您将看到公式计算器的 View 。 我正在努力获得第一个UI
如果我只加载一个 TableView ,我的 View 中必须有两个 TableView ,它工作正常。但是当我尝试使用下面的方法加载两个表格 View 时,它给出了以下异常。 未捕获异常“NSRan
我是 JavaFx 的新手,我正在尝试创建一个 TableView ,而 fxml 是使用场景生成器创建的。如果我运行该程序,该表不会获取值。我发现这个问题在某种程度上符合我的要求( javaFX 2
是否可以对 tableView 进行反向排序?我搜索了很多解决方案,但没有任何效果。 效果就像whatsapp聊天。 一个普通的tableView是: ---------- label 1 -----
我有一个有趣的问题。我有两个 TableView ,一个在另一个里面。我有一个结构,我想用它来将数据添加到我的 TableView 中。该结构有 2 个字符串项和另一个具有 3 个字符串项的结构的数组
我正在使用的方法 func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath
我是一名优秀的程序员,十分优秀!