Ndata for NGUI 的介绍与使用

NData作为NGUI的MVVM框架插件,提供双向文本绑定、按钮命令绑定及UI状态检测等功能。通过在UI和逻辑层间引入页面逻辑模型,实现动态刷新和逻辑与UI的分离,简化商城逻辑实现,提高开发效率。

 原文链接:http://www.cnblogs.com/chongxin/p/3885657.html

一、NData介绍以及优点

大体来说NData就是一个NGUI 的 MVVM 框架插件

 NData的特点 :

i. 双向文本绑定,包括单个数据绑定和多个数据绑定,以及格式化功能 

ii. 对于按钮的命令绑定,以便触发代码逻辑 

iii. UI状态检测如果你问我什么是MVVM,我也只能说类似于MVC,至于什么是MVC…………

说道NData的优点,我们先来看这个,如果要写商城逻辑,一般如下:

这个逻辑很简单,但是之前我实现是在OnMouse这类函数中进行判断,然后直接与底层数据交互。这还没什么,如果底层商城的商品种类增加,那么我还得在UI进行构造新的UI部件。

最后,让我无法容忍的就是,这些UI部件的显示的数据我还要记住这些UI部件的路径,一个个翻过去找,如果路径复杂就很麻烦。刚开始还没什么,时间一长就要吐了。

这些用NData就可以很方便的解决,大体的解决思路就和上面那张图差不多,他在UI和逻辑层中又多加了一层,类似于页面逻辑模型,并且将页面逻辑模型的数据和显示UI上的部件绑定。做到了动态刷新。

之后你对页面所有的操作都可以通过对这个页面模型交互来实现,做到了逻辑和UI分离的境界。


`data = dataset.values` 通常用于将 `pandas` 库中的 `DataFrame` 或 `Series` 对象转换为 `NumPy` 数组。在引用[2]中,使用了 `df_a[2].values` 获取 `DataFrame` 中某一列的数据,并将其转换为 `NumPy` 数组。 以下是对代码含义和用途的详细解释: ### 含义 `dataset.values` 是 `pandas` 中 `DataFrame` 或 `Series` 对象的属性,它返回一个 `NumPy` 数组,其中包含了 `DataFrame` 或 `Series` 中的数据。具体来说: - 对于 `DataFrame` 对象,`values` 属性返回一个二维 `NumPy` 数组,数组的每一行对应 `DataFrame` 中的一行,每一列对应 `DataFrame` 中的一列。 - 对于 `Series` 对象,`values` 属性返回一个一维 `NumPy` 数组,数组中的元素对应 `Series` 中的每个值。 ### 用途 - ** `NumPy` 函数集成**:许多科学计算和机器学习库都使用 `NumPy` 数组作为输入。通过将 `DataFrame` 或 `Series` 转换为 `NumPy` 数组,可以方便地使用这些库中的函数。 - **性能优化**:在某些情况下,使用 `NumPy` 数组进行计算可能比使用 `pandas` 对象更快,尤其是在处理大规模数据时。 - **数据传递**:在需要将数据传递给不支持 `pandas` 对象的函数或方法时,将数据转换为 `NumPy` 数组是必要的。 ### 示例代码 ```python import pandas as pd # 创建一个 DataFrame data = { 'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9] } df = pd.DataFrame(data) # 将 DataFrame 转换为 NumPy 数组 numpy_array = df.values print("DataFrame:") print(df) print("\nNumPy 数组:") print(numpy_array) ``` ### 代码解释 - 首先,使用 `pandas` 创建了一个 `DataFrame` 对象 `df`。 - 然后,使用 `df.values` 将 `DataFrame` 转换为 `NumPy` 数组 `numpy_array`。 - 最后,打印出 `DataFrame` 和 `NumPy` 数组,以便对比它们的结构。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值