Chapter 08 - RaiseMan (C# 实现 + Cell-based tableview绑定)

2022/8/16 14:53:27

本文主要是介绍Chapter 08 - RaiseMan (C# 实现 + Cell-based tableview绑定),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

这个代码主要展示如何绑定Array Controller到Cell-based Tableview。在发代码前,需要注意几点。

1. Person为自定义的class,但是一定要Register为PersonModel。 格式{自定义class}Model。

2. NSMutableArray对象,一定要Export为personModelArray。格式{从1. 中得到的注册类}Array。之后的所有setter & getter 都要基于这个Export后的名称。别问我为啥知道,我吖的摸索了1个星期,疯狂修改微软的例子+看文档,终于发现还有这等潜规则。我开始逐渐明白国内为啥C#的培训机构那么少了,原来很多东西,就是有文档,还不一定能搞定。慢慢摸索吧,希望能把这本objective-c cocoa的书成功翻译成C#的入门教程。

不遵循1和2的,程序必定报错。其余的按照书上的布局xcode和绑定就行了。微软只在文档里说明了第二点,第一点压根就没说。害我真的是逐句代码排除,终于发现,注册和导出名称都要遵循潜规则。

Xcode下Array Controller的自定义类

 

Cell-based的tableview 绑定(下一章会用view-based tableview来绑定,两者方法不同)。图中第一个Content Mode记住改成Cell-based。这类Tableview可以利用Array Controller中默认的add & remove action。而且可以自定义NSTableViewDataSource & NSTableViewDelegate.

Cell-based tableview不用绑定Table View中的Content Array,直接绑定对应Colum的Value就行了。如图。

然后按照书上的教程,拖拽两个按钮到Array Controller(记住按ctrl + 鼠标左键)。会有对应的add 和 remove绑定。之后,绑定Remove按钮的enable属性到Array Controller的状态。

好了,开始上源代码。

Person类。注意我放在开头的第一点!!下面是cs.designer 文件中内容。

Person.cs

这个例子没有采用NSDocument (xib),下一个view-based Tableview绑定会用。为了测试,我就简单放在了ViewController.cs中。

最后看下测试图。恭喜我又成功把一个objective-c程序翻译成了C#。

 



这篇关于Chapter 08 - RaiseMan (C# 实现 + Cell-based tableview绑定)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程