Ios 如何制作UITableView@property';它在构建时运行

Ios 如何制作UITableView@property';它在构建时运行,ios,uitableview,Ios,Uitableview,如何使用一个#define number在构建时控制多个UITableView的数量 我的应用程序目前需要4个UITableView。稍后,这个数字会增加,所以我想在构建时用一个#定义多少来控制它 但在@property声明中使用数组时出现错误: #define TOTAL_TX_CHANNELS 4 @interface blah() <UITableViewDataSource, UITableViewDelegate CBPeripheralDelegate> { } @

如何使用一个#define number在构建时控制多个UITableView的数量

我的应用程序目前需要4个UITableView。稍后,这个数字会增加,所以我想在构建时用一个#定义多少来控制它

但在@property声明中使用数组时出现错误:

#define TOTAL_TX_CHANNELS  4

@interface blah() <UITableViewDataSource, UITableViewDelegate CBPeripheralDelegate>
{
}

@property (strong, nonatomic) UITableView* channel_tableView[ TOTAL_TX_CHANNELS ] ;
#定义总发送通道4
@接口blah()
{
}
@属性(强,非原子)UITableView*通道表视图[总通道数];

有什么诀窍?我应该使用NSArray还是什么?

是的,使用
NSArray

如果在Interface Builder中配置,则可以使用:

@property (weak, nonatomic) IBOutletCollection (UITableView) NSArray * tableViews;      

为什么您需要控制uitableview的#数量? 如果你必须这样做,你可以做一些数学运算

int adder = 4;
int currentNumberOfTvs = 4;

//Do some logic, that will add the number of current table views

if (...) //Test if user has added, or however, if another table view was added, 
{
 adder++;//now adder = 5. So you have a current count of how many table views there are
}

希望这有帮助:)

我同意其他人的看法,这是一个糟糕的实现。韦恩的回答很好

但是,仍然可以通过这种方式实现它,只需确保将属性声明为

@property (assign, nonatomic) UITableView** channel_tableView;
引用计数仅适用于Obj-C对象,但您正在此处创建一个C数组

请注意,您必须使用
malloc
来分配存储

如果不想
malloc
,请将其作为ivar实现:

@interface Blah {
    UITableView* channel_tableView[4];
}
@end

解决方案不是使用属性数组,而是在实现范围内使用UITextView数组,.m

UITextView*通道/管道/文本视图[总通道数]

然后,在function viewDidLayoutSubviews中,我为每个通道创建了一个UITableView,并添加了初始化单元格的标准函数,所有这些都是通过遵循苹果优秀的UITableView编程指南完成的

它工作得非常完美,完全独立于情节提要:我有四个垂直的并排列,显示关于频道上每个设备的任何类型的图像和文本细节,并具有滚动功能,允许每个频道有任意数量的设备


《Apple UITableView编程指南》还提供了仅在运行时以编程方式生成UITableView的教程和示例代码。

如果您不介意我问的话,为什么您需要四个表视图?此应用程序将显示几个iOS设备和嵌入式计算机的本地网络的系统状态图。四个TABLEVIEW将显示4列,每列将显示一个通信通道上的所有计算机--4个通信通道,这将随着产品的发展而增加。我甚至需要UITableView的属性吗?这4个表视图将在运行时以编程方式创建。也许我可以在实现中创建UITableView*的数组。这家酒店不仅仅是连接nib所需的吗?我刚刚向我的客户演示了基于此解决方案的应用程序,天使和首席执行官都喜欢它。UITableView让我可以轻松地在屏幕上填充表示系统组件的重复模式,他们一眼就能理解(我的意图),他们非常激动,开始进行头脑风暴,我做了很多笔记,并被告知继续进行项目。(我喜欢软件。)需要控制数字,因为数字可能会根据产品要求和客户使用情况而变化。