Ios 显示UILabel中所有实体的Xcode核心数据

Ios 显示UILabel中所有实体的Xcode核心数据,ios,uilabel,Ios,Uilabel,我想要的是在一个标签中列出我的核心数据中的所有“来宾”。我正在使用下面的代码,但是我在UILabel中只得到了“Guest:(null)。为什么 AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; NSFetchRequest *request = [[NSFetchRequest alloc]init]; NSEntityDes

我想要的是在一个标签中列出我的核心数据中的所有“来宾”。我正在使用下面的代码,但是我在UILabel中只得到了“Guest:(null)。为什么

AppDelegate *appDelegate = 
                    (AppDelegate*)[[UIApplication sharedApplication] delegate];

NSFetchRequest *request = [[NSFetchRequest alloc]init];

NSEntityDescription *entity = [NSEntityDescription entityForName:@"Guests"
                      inManagedObjectContext:appDelegate.managedObjectContext];
[request setEntity:entity];

NSManagedObjectContext *context = [appDelegate managedObjectContext];

NSError *error;
NSArray *fetchedObjects = [context executeFetchRequest:request error:&error];
NSString *Guests;
NSString *stringText;
stringText = [NSString stringWithFormat:@"%@\n", stringText, 
                [NSString   stringWithFormat:@"Guest : %@" , Guests]];
self.ListAllLabel.text = [NSString stringWithFormat:@"Guest : %@\n"];
[_ListAllLabel setNumberOfLines:0];
[_ListAllLabel sizeToFit];

 for(NSManagedObject *obj in fetchedObjects)
 {
    {         
       NSLog(@"Name:%@\n Last Name %@\n", [obj valueForKey:@"name"],
                                          [obj valueForKey:@"lastname"]);
   }
 }

首先,这条线是一个问题:

self.ListAllLabel.text = [NSString stringWithFormat:@"Guest : %@\n"];

格式字符串中的
%@
缺少要填写的值。

使用格式说明符(如%@)打印对象只会调用对象的内置方法说明。 例如[客人描述]; 每个NSObject都实现此方法。您不应使用此方法在标签中显示,因为它有时会导致垃圾值

要解决您的问题,只需使用简单的字符串连接

在您的FOR循环中,您只需尝试这个

     NSString*guestString =@"";
        for(NSManagedObject *obj in fetchedObjects)

        {

            guestString =[guestString stringByAppendingString:[NSString stringWithFormat:@"%@ - Name %@ -Last Name \n",[obj valueForKey:@"name"],[obj valueForKey:@"lastname"]]]
        }
self.ListAllLabel.text = guestString

谢谢你Jeff…尝试过了,但它没有起作用,但它纠正了我的一个编译器警告,但我在上面的一行还有一个警告…我仍然得到了永远不要忽略编译器警告。他们告诉你一些重要的事情。你得到了什么警告?是的..我知道..我在“stringText=[NSStringWithFormat:@”%@\n”行还有一个警告,stringText,[NSString stringWithFormat:@“来宾:%@”,来宾]];“…格式字符串未使用数据参数…我不明白…您的格式字符串有一个参数-%@-您正在传递两个参数。请仔细看那一行…@JeffLoughlin doest您的答案是currect您认为这是设置值吗?设置变量%@的位置在哪里?这会给出错误。感谢所有的答案并尝试解决它…Na。”vinDev感谢您的解决方案…多亏您,我终于让它工作起来了…没有更多的编译器警告,但我必须承认我必须理解我正在尝试做的事情…干杯!好吧,CoreData需要一段时间才能理解。但一旦您掌握了窍门,之后就很容易了。您可以查看我的,它将帮助您获得一个挂起你在代码中所做的事情。谢谢NavinDev关于核心数据的非常酷和流畅的博客…谢谢。。。