iOS可变数组始终为空

iOS可变数组始终为空,ios,objective-c,arrays,uitableview,Ios,Objective C,Arrays,Uitableview,这是我的难题 我试图在视图控制器上方放置一个表视图 视图加载并添加后,我用于tableview的数组始终为空,但是表始终为空 这是带有tableview和可变数组属性的视图头文件 @interface IngredientsView : UIView <UITableViewDataSource,UITableViewDelegate> - (id)initWithFrame:(CGRect)frame andIngredients:(NSMutableArray*)ingre

这是我的难题

我试图在视图控制器上方放置一个表视图

视图加载并添加后,我用于tableview的数组始终为空,但是表始终为空

这是带有tableview和可变数组属性的视图头文件

@interface IngredientsView : UIView <UITableViewDataSource,UITableViewDelegate>



- (id)initWithFrame:(CGRect)frame andIngredients:(NSMutableArray*)ingredientsArray;

- (id)initWithIngredients:(NSMutableArray*)ingredientsArray;

@property (weak, nonatomic) IBOutlet UITableView *notesTableView;
@property NSMutableArray* ingredients;
}

在init方法中,self.components数组将向NSlog返回一个计数(例如6个对象)

但是在我的委托表视图方法numberOfSectionsFor:index路径中,它总是返回0,就好像数组是nil一样

我试过了

  • 改用实例数组
  • 合成阵列并从我的视图控制器进行设置
  • 将数组粘贴到单例上并从单例中获取数组
对于节数,是否全部返回0

桌面视图是零吗


我通常使用表视图控制器,但仅使用表视图的经验不多。我有什么遗漏吗?

您自己的设置;然后在下一行中,将self设置为一个nib,您可以加载它,覆盖self。将self设置为笔尖后,将self.Components分配移动到

哪些初始值设定项被称为?如果您是从xib文件加载的,当然可以

-(id) initWithFrame:(CGRect)frame andIngredients:
不叫

-(id)initWithFrame:
是视图的指定初始值设定项。因此,从nib文件加载视图时将调用它

在任何情况下,您的
initWith…
代码应该做的第一件事是:

self = [super initWithFrame: ... ]
if (self) 
{
   ...
}
最关键的问题是:

您正在分配
self=[[NSBundle mainBundle]loadNibNamed:[NSString stringWithFormat:@“%@,[self class]]所有者:自选项:nil]objectAtIndex:0]

您刚刚跳过了正在初始化的
self


如果您想从XIB文件中加载<代码> DealTrsVIEW/COD>,您也可以考虑执行<代码> -(无效)AuxKeFiNeb {…}/Cuth>来设置您的属性,或者在--(自已)iNITY框架中设置属性:…code>在调用
[super initWIthFrame:rect]`

啊,当然-谢谢-这就是为什么无论我做什么,它都会被擦除
self = [super initWithFrame: ... ]
if (self) 
{
   ...
}