Objective-C /来自xib的称重传感器/需要说明

时间:2013-07-24 08:58:29

标签: objective-c nsbundle loadnibnamed

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

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

但有人可以解释第一行的作用吗?

我每次都觉得非常愚蠢,不知道它是如何运作的。

2 个答案:

答案 0 :(得分:0)

NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CustpmCellView" owner:self options:nil];

loadNibNamed返回xib下的所有视图。所以我们把它放在数组中。在这里说, CustpmCellView 下的所有视图都将被提取并保存在数组 nib 中。

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

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

我们需要为UITableView中的每个单元格分配新视图,因此为了达到此目的,每次需要新单元格时,我们都会使用上面的代码段。

修改

[NSBundle mainBundle],在What the meaning of [NSBundle mainBundle] in iPhone?

解释

答案 1 :(得分:0)

According to Docs

loadNibNamed:owner:options:

取消归档接收器捆绑中的nib文件的内容。

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

<强>参数

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

所有者

要指定为nib的File的Owner对象的对象。

选项

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

返回值

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