On Oct 24, 2007, at 11:58 AM, Calven Eggert wrote:
I was fetching a list of records from a to-many relationship and
none of the records were being displayed in my WORepetition. My
fetch is a simple valueForKey like so:
That is not a fetch. That is accessing an to many relationship
which may or may not be a array fault or an array of faults.
Yes, not a fetch. Bad choice of words. I know what I meant.
Programmers are so picky. :-)
:-P
That should be fine (a little ugly, but I'll assume you have a
reason to access it like this). If you are not seeing the
records, I will guess that the relationship is still an array
fault and the fault is not getting fired. I can't think of why
that would be other than violating one of the EOF commandments or
messing with the generated EO code so that willRead() does not get
called.
There is nothing in that code that should cause the problem you are
seeing.
Then I tried this for the heck of it:
NSMutableArray tempArray = (NSMutableArray)
currentRecord.valueForKey("toManyRelationship");
toManyArray = new NSMutableArray();
toManyArray.addObjectsFromArray(tempArray);
My records were now being displayed.
Can anyone explain to me why this is so?
The second bit of code must be doing something to cause the array
fault to be fired. What you are seeing is not normal. I suspect
the problem lies in your Java code or possibly in a bad build.
Any suggestions on what I should be looking for in the Java code?
Not specifically. I am afraid this is going to be unpleasant to
debug. Check out the EOF commandments, look for missing calls to
super (awakeFromInsertion, awakeFromFetch).