Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 类别、子类别和视图控制器的逻辑_Iphone_Objective C_Ios_Sqlite_Uiviewcontroller - Fatal编程技术网

Iphone 类别、子类别和视图控制器的逻辑

Iphone 类别、子类别和视图控制器的逻辑,iphone,objective-c,ios,sqlite,uiviewcontroller,Iphone,Objective C,Ios,Sqlite,Uiviewcontroller,我征求您对使用sqlite数据库的应用程序中的类别和子类别管理的意见 这是我的屏幕应用程序: 这是我的数据库方案SQLITE: table CATEGORY id_category | parent_id | name 1 0 television 2 0 iphone 3 1 LCD 4 1 LED 5

我征求您对使用sqlite数据库的应用程序中的类别和子类别管理的意见

这是我的屏幕应用程序:

这是我的数据库方案SQLITE:

table CATEGORY
id_category | parent_id | name
 1            0           television
 2            0           iphone
 3            1           LCD
 4            1           LED
 5            1           PLASMA

table PRODUCTS
id_product | id_category | name
1               3          LCD 22"
2               3          LCD 24"
3               2          IPHONE 4S
现在,如果有子类别,我必须查看子类别视图,否则我必须查看主类别中的产品列表

我想到了这样的事情:

if(parent_id == 0) {
// list products view    
}else{
// subcategory view
}

逻辑正确吗?

这会起作用,特别是如果您希望灵活地拥有多个级别的子类别,例如mac->desktop->imac->20英寸

但是,如果只有一个级别的子类,您可能需要考虑只创建三个表、类别、子类别和产品。这样,实体之间的关系得到了更多的控制,在代码级别需要做的工作更少


我建议将表名保持为“单数”作为标准命名约定。“产品”应该只是“产品”。这将创建更多逻辑命名的实体。

使用这种逻辑,您将如何识别子产品,我对此表示怀疑。需要对逻辑进行一些改进。