Domanda

I have the following Code.

MbsAppDelegate *delegate = (MbsAppDelegate *)[[UIApplication sharedApplication] delegate];

self.managedObjectContext = [delegate managedObjectContext];

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"objekt == %@", self.objekt];

InfoLogMy(@"Objektnummer: %d", self.objekt.objektnr);
InfoLogMy(@"%@", predicate);

The result ist in the Log view:

2014-01-29 11:25:32.300 mbsApp[1672:60b] -[MbsObjektStammdatenViewController sendEmail] [Line 114] Objektnummer: 384401632
2014-01-29 11:25:32.304 mbsApp[1672:60b] -[MbsObjektStammdatenViewController sendEmail] [Line 115] objekt == <Objekt: 0x16eda5f0> (entity: Objekt; id: 0x16ec2720 <x-coredata://750A4CD1-497B-4204-8F1C-A32B4B200B10/Objekt/p3> ; data: {
adressen =     (
    "0x16ee7f20 <x-coredata://750A4CD1-497B-4204-8F1C-A32B4B200B10/Adresse/p14>",
    "0x16ee7f50 <x-coredata://750A4CD1-497B-4204-8F1C-A32B4B200B10/Adresse/p15>",
    "0x16ee8ae0 <x-coredata://750A4CD1-497B-4204-8F1C-A32B4B200B10/Adresse/p13>",
    "0x16eeb3a0 <x-coredata://750A4CD1-497B-4204-8F1C-A32B4B200B10/Adresse/p11>",
    "0x16eeb320 <x-coredata://750A4CD1-497B-4204-8F1C-A32B4B200B10/Adresse/p12>"
);
anrufer = "Herr Rappenglitz";
dateien = "<relationship fault: 0x16ec5cb0 'dateien'>";
filialname = " Grafrath";
objektanleger = Steininger;
objektnr = 1463128;
"schaden_behoben" = 0;
schadensursache = "siehe LE 1462952";
schadentag = "2013-11-21 23:00:00 +0000";
status = 0;
termin = "2013-11-21 23:00:00 +0000";
terminart = 2;
uhrzeit = "11:15:00";
uhrzeitbis = "12:15:00";
weitererhinweis = "Das w\U00e4re der Bemerkungstext der mit geschickt wird um evtl. vorher eine Telefonnummer mitzugeben um evtl. vorher kurz anrufen zu lassen.ii";
wohneinheiten =     (
    "0x16eef000 <x-coredata://750A4CD1-497B-4204-8F1C-A32B4B200B10/Wohneinheit/p1>"
);
zusatz = nil;

})

The value of "objektnr" in the predicate is the right one, i dont know from where the value "384401632" is coming from.

Do you have any idea?

How can i view the values from the nspredicate?

È stato utile?

Soluzione

By default, the Core Data generated managed object classes use NSNumber objects for Integer properties (and the output "384401632" is the address of that object).

So either print the number with %@ instead of %d:

InfoLogMy(@"Objektnummer: %@", self.objekt.objektnr);

or convert it to an integer:

InfoLogMy(@"Objektnummer: %d", [self.objekt.objektnr intValue]);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top