Ios 重新加载集合视图

Ios 重新加载集合视图,ios,objective-c,nsmutablearray,uicollectionview,custom-cell,Ios,Objective C,Nsmutablearray,Uicollectionview,Custom Cell,我正在用Objective C编写一个应用程序。我在collections视图中有自定义单元格。最初,它从SQLite Db加载数据,并将其显示在每个自定义单元格的集合视图中。并在集合视图上显示单元格 重新加载集合视图后,集合视图将保持黑色 代码: 重新加载数据的位置-按钮: - (IBAction)btnAdd:(id)sender { NSString *myRed = [NSString stringWithFormat: @"%1.4f", slideR.value]; NS

我正在用Objective C编写一个应用程序。我在collections视图中有自定义单元格。最初,它从SQLite Db加载数据,并将其显示在每个自定义单元格的集合视图中。并在集合视图上显示单元格

重新加载集合视图后,集合视图将保持黑色

代码:

重新加载数据的位置-按钮:

- (IBAction)btnAdd:(id)sender {
   NSString *myRed = [NSString stringWithFormat: @"%1.4f", slideR.value];
   NSString *myGreen = [NSString stringWithFormat: @"%1.4f", slideG.value];
   NSString *myBlue = [NSString stringWithFormat: @"%1.4f", slideB.value];
    if(txtField != nil){


        [colMain reloadData];
    }

在这种情况下,ARRCOOR(可变数组)包含相同数量的元素。集合视图没有被重新加载的原因是什么?

是否有充分的理由直接使用Sqlite而不是使用核心数据,因为核心数据很好地抽象了大部分低级别的持久性复杂性

无论如何,如果您必须这样做,以下是您如何使用当前的方法来实现这一目标:

  • 将Sqlite数据加载到模型中,例如
    NSArray*
    属性或实例变量。在
    -viewDidLoad
    (或更高版本)中初始化并填充数组
  • 更改您的
    数据源
    实现以使用该数组,例如在
    numberofitemsin部分
    数据源
    方法中的
    返回[self.colors]
  • 添加或替换模型项时更改(或替换)模型数组。然后在collection视图上调用
    -reloadData
  • 其他一些提示: -确实要在“集合”视图中包含3个部分(“项目组”)吗?如果确实没有,只需将
    -numberOfSectionsInCollectionView
    实现全部删除即可。 -当您执行<代码> ARLYORK[RUNXPATION.IOT/COD> >时,您得到相同的对象三次。当然这不是您的意图吗?考虑使用<代码> UICOLOR <代码>作为数组的元素,或者在自定义代码< NSObjs< /Cord>子类中包装颜色值。


    希望这能为您提供一些入门指南。

    您直接使用Sqlite而不是使用核心数据有什么好的理由吗?核心数据可以很好地抽象出大部分低级别的持久性复杂性

    无论如何,如果您必须这样做,以下是您如何使用当前的方法来实现这一目标:

  • 将Sqlite数据加载到模型中,例如
    NSArray*
    属性或实例变量。在
    -viewDidLoad
    或更高版本中初始化并填充数组
  • 更改您的
    数据源
    实现以使用该数组,例如在
    numberofitemsin部分
    数据源
    方法中的
    返回[self.colors]
  • 添加或替换模型项时更改(或替换)模型数组。然后在集合视图上调用
    -reloadData
  • 其他一些提示: -是否确实要在“集合”视图中包含3个部分(“项目组”)?如果确实不想,只需将您的
    -numberOfSectionsInCollectionView
    实现全部删除即可。 -当您执行<代码> ARLYORK[RUNXPATION.IOT/COD> >时,您得到相同的对象三次。当然这不是您的意图吗?考虑使用<代码> UICOLOR <代码>作为数组的元素,或者在自定义代码< NSObjs< /Cord>子类中包装颜色值。


    希望这能为您提供一些入门指南。

    事实上,我需要做的是将自定义对象的属性设置为“强”。也就是说,我将RGB颜色的值存储在自定义对象中。

    事实上,我需要做的是将自定义对象的属性设置为“强”。也就是说,我将RGB颜色的值存储在自定义对象中自定义对象

    - (IBAction)btnAdd:(id)sender {
       NSString *myRed = [NSString stringWithFormat: @"%1.4f", slideR.value];
       NSString *myGreen = [NSString stringWithFormat: @"%1.4f", slideG.value];
       NSString *myBlue = [NSString stringWithFormat: @"%1.4f", slideB.value];
        if(txtField != nil){
    
    
            [colMain reloadData];
        }