TableView

下决心认真理解一下TableView,发现不仅仅是在java中的TableModel是这样用的,Xcode中的PickerView,TableView也都是这种模式!
最基本的就是要定义三个方法:
1. getRow()
2. getColumn()
3. getValueAt()

要做table或者Picker的时候就生硬的去implement这个接口,返回该返回的东西~
今天稍微深究一下原因,其实就是GUI需要知道如何去draw这个table:首先得到行数和列数,然后得到每个格子的数据! 在draw这个table的时候,只要有这三个方法就够了,当然也是必不可少。 所以这三个方法是强制继承的。 至于说getColumnName或者isEditable这些方法,都可以根据自己的需要选择的去override。

这里数据定义非常重要,所以在Objective C中,分为DataSource和Delegate两个不同的接口来分别实现。DataSource 用于控制如何显示(行列数目),Delegate作为数据源,存储每个单元格的数据。具体方法类似,DataSource中两个方法返回行列数,Delegate中一个方法用于返回数据(data【rows】【Column】)。

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s