Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.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
Ios CollectionViewController为空_Ios_Objective C_Arrays_Property List - Fatal编程技术网

Ios CollectionViewController为空

Ios CollectionViewController为空,ios,objective-c,arrays,property-list,Ios,Objective C,Arrays,Property List,弹出的代码中没有错误,当应用程序加载到模拟器中时,它是完全空白的。我认为PList数据没有正确填充到数组中可能有问题,但我不确定,因为甚至页眉/页脚也没有显示出来 下面是其中一个plist的示例(总共有4个plist,所有plist都具有相同的结构,只是分配给不同的对象): 以下是指定给数组的其中一个对象的代码,然后将这些数组的片段放入单独的数组中,以跟踪它们的缩略图和标签的名称: //BEGIN INGREDIENT ITEM DATA NSString *ingredientIte

弹出的代码中没有错误,当应用程序加载到模拟器中时,它是完全空白的。我认为PList数据没有正确填充到数组中可能有问题,但我不确定,因为甚至页眉/页脚也没有显示出来

下面是其中一个plist的示例(总共有4个plist,所有plist都具有相同的结构,只是分配给不同的对象):

以下是指定给数组的其中一个对象的代码,然后将这些数组的片段放入单独的数组中,以跟踪它们的缩略图和标签的名称:

//BEGIN INGREDIENT ITEM DATA
    NSString *ingredientItemsPath = [[NSBundle mainBundle] pathForResource:@"IngredientList" ofType:@"plist"];
    NSMutableArray *ingredientItemsArray = [[NSMutableArray alloc] initWithContentsOfFile:ingredientItemsPath];
    /*NSString *ingredientItemsPath = [[NSBundle mainBundle] pathForResource:@"ingredientList" ofType:@"plist"];
    NSDictionary *ingredientItemsDict = [[NSDictionary alloc] initWithContentsOfFile:ingredientItemsPath];
    NSArray *ingredientItemsArray = [NSArray arrayWithArray:[ingredientItemsDict objectForKey:@"Root"]];*/
    NSMutableArray *cCalcIngredientObjects = [[NSMutableArray alloc] init];
    for (int index=0; index < ingredientItemsArray.count; index++)
    {
        CCalcIngredients* ingredient = [[CCalcIngredients alloc] init]; // This is your object
        NSDictionary* ingredientDict = (NSDictionary*)ingredientItemsArray[index];
        ingredient.name = ingredientDict[@"name"];
        ingredient.thumbnail = ingredientDict[@"thumbnail"];
        NSDictionary* ingredientNutritionDict = (NSDictionary*)ingredientDict[@"nutrition"];
        ingredient.calories = ingredientNutritionDict[@"calories"];
        ingredient.totalFat = ingredientNutritionDict[@"totalFat"];
        ingredient.saturatedFat = ingredientNutritionDict[@"saturatedFat"];
        ingredient.transFat = ingredientNutritionDict[@"transFat"];
        ingredient.cholesterol = ingredientNutritionDict[@"cholesterol"];
        ingredient.sodium = ingredientNutritionDict[@"sodium"];
        ingredient.totalCarbs = ingredientNutritionDict[@"totalCarbs"];
        ingredient.dietaryFiber = ingredientNutritionDict[@"dietaryFiber"];
        ingredient.proteins = ingredientNutritionDict[@"proteins"];
        [cCalcIngredientObjects addObject:ingredient];
    }
    //END INGREDIENT ITEM DATA

    NSLog(@"The ingredient items are %@", cCalcIngredientObjects);

    //array of photos
    self.photos = [[NSMutableArray alloc] init];
    for(CCalcMeals* item in cCalcMenuObjects){
        [self.photos addObject:item.thumbnail];
    }
    for(CCalcMeat* meat in cCalcMeatObjects){
        [self.photos addObject:meat.thumbnail];
    }
    for(CCalcSalsa* salsa in cCalcSalsaObjects){
        [self.photos addObject:salsa.thumbnail];
    }
    for(CCalcIngredients* ingredient in cCalcIngredientObjects){
        [self.photos addObject:ingredient.thumbnail];
    }
    NSLog(@"photos %@", self.photos);
//开始成分项目数据
NSString*IngRedientSpath=[[NSBundle mainBundle]路径用于资源:@“plist”类型的“IngredientList”;
NSMutableArray*IngReditemSarray=[[NSMutableArray alloc]initWithContentsOfFile:IngReditemSpath];
/*NSString*IngRedientSpath=[[NSBundle mainBundle]路径用于资源:@“plist”类型的“ingredientList”;
NSDictionary*IngRedentitemsDict=[[NSDictionary alloc]initWithContentsOfFile:IngRedentitemspath];
NSArray*IngRedentitemsArray=[NSArray arrayWithArray:[IngRedentitemsDict objectForKey:@“根”]*/
NSMUTABLEARRY*CCALCINGREDINTOBJECTS=[[NSMUTABLEARRY alloc]init];
对于(int index=0;index
当我对我创建的所有阵列运行NSLog时,NSLog会打印此内容:


我正在试图弄清楚为什么这只是一个空白的黑色模拟屏幕,并弄清楚我的Plist数据是怎么回事,以及它是否被正确构建的。

在混乱了代码之后,我发现我试图将信息作为数组从Plist中取出,即使根信息是事实上,这是一本字典,所以现在我确切地知道了为什么我的NSLog只返回零。
谢谢你的帮助和提示

您的问题是为什么集合视图为空,但您只发布了数据模型中的代码。能否显示集合视图委托方法的代码?您是否验证了他们是否被调用并查看了他们返回的内容?@AaronBrager抱歉,我的想法是,错误可能与调用以填充到collectionview中的信息有关,因为在使用plist之前,它是使用NSArray建立的(并且有效),并试图整合数据,我将其移动到Plist和mutablearray,以清除所述数据的单调性。@AaronBrager AppDelegate从一开始就没有真正接触过,因为我使用的教程从未说过要编辑其中的任何内容,并且在将所有内容更改为Plist和mutablearray之前都进行过操作