Objective-C / xib 的称重传感器 / 需要解释

Posted

技术标签:

【中文标题】Objective-C / xib 的称重传感器 / 需要解释【英文标题】:Objective-C / Load cell from xib / Need explanation 【发布时间】:2013-07-24 08:58:28 【问题描述】:

好的,我知道如何通过以下代码从 xib 加载自定义单元格:

NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CustpmCellView" owner:self options:nil];
cell = (CustomCell *)[nib objectAtIndex:0];

但是有人能解释一下第一行是做什么的吗?

我觉得每次都输入它真的很愚蠢,不知道它是如何工作的。

【问题讨论】:

【参考方案1】:
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CustpmCellView" owner:self options:nil];

loadNibNamed 返回您的 xib 下的所有视图。因此,我们将其保存在数组中。在这里说 CustpmCellView 下的所有视图都将被提取并保存在数组 nib 中。

cell = (CustomCell *)[nib objectAtIndex:0];

我们从数组中获取第一个视图,因为那是我们想要的视图,然后我们正在转换并分配给单元格对象。

我们需要为UITableView中的每个单元格分配新视图,因此每次需要新单元格时,我们都使用上面的代码sn-p来实现。

编辑

[NSBundle mainBundle],在What the meaning of [NSBundle mainBundle] in iPhone?进行解释

【讨论】:

我明白了.... 所以说我在那个 xib 中有超过 1 个视图,我必须选择要加载的视图?另外,[NSBundle mainBundle] 有什么作用? 没错。在这种情况下,将 TAG 分配给 View 可以帮助您。 您能解释一下 [NSBundle mainBundle] 部分的作用吗?【参考方案2】:

According to Docs

loadNibNamed:owner:options:

取消归档位于接收器包中的 nib 文件的内容。

- (NSArray *)loadNibNamed:(NSString *)name owner:(id)owner options:(NSDictionary *)options

参数

名字 nib 文件的名称,不需要包含 .nib 扩展名。

所有者

指定为 nib 的 File's Owner 对象的对象。

选项

包含打开 nib 文件时要使用的选项的字典。有关此字典的可用键列表,请参阅“Nib 文件加载选项”。

返回值

包含 nib 文件中***对象的数组。该数组不包含对文件所有者或任何代理对象的引用;它仅包含在取消归档 nib 文件时实例化的那些对象。您应该手动保留返回的数组或其中包含的对象,以防止 nib 文件对象过早释放。

【讨论】:

以上是关于Objective-C / xib 的称重传感器 / 需要解释的主要内容,如果未能解决你的问题,请参考以下文章

IoT产品设计:称重传感器选型指南

UITableView 中的称重传感器

西门子1200与陀螺仪和称重传感器的RTU轮询通讯

称重仪表modbus协议

基于ESP8266 HX711 克级单位称重式压力传感器(接入阿里云物联网平台)—— 看到有点意思,所以我也照着做了一个

基于STM32设计物联网在线智能称重系统(OneNet)_2022