Skip navigation.
 
mlRe: Newbie question: chrash on [tableview reloadData]
FROM : Terje Tjervaag
DATE : Thu Nov 21 21:30:51 2002

Thanks to you who have replied.  I have now found the exact source of
the crash.  From the source code listed below, if I comment out the
[dirEnumerator release] line, like I have done below, the app runs
fine.  I suppose then I am not meant to touch the NSDirectoryEnumerator
after I have created it, but I really don't understand why this is
affecting my NSMutableArray 'files' after I have finished filling it
with filenames from the directory
enumerator.  Anyone care to explain?

NSDirectoryEnumerator *dirEnumerator = [[NSFileManager defaultManager]
enumeratorAtPath:[path stringValue]];

    NSString *currentName;
    TTGraphicFile *tempFile;

    while (currentName = [dirEnumerator nextObject]) {
        tempFile = [[TTGraphicFile alloc] init];
        [tempFile setFileName:currentName];
        [tempFile setFileSize:34];
        [files addObject:tempFile];
        [tempFile release];
    }

    // Make sure objects are released
    //[dirEnumerator release];
    //[currentName release];

    // Refresh table
    [self updateUI];

Thanks again!

Terje

ps. I DO generally post code when I ask people questions, but in this
case it was a bit hard since I had really no idea of the source of the
problem.  Hopefully my cocoa/Objective-C skills will be refined enough
to ask some SENSIBLE questions soon! ;-)

On Thursday, November 21, 2002, at 07:25 PM, Fritz Anderson wrote:

> Seeing your document's source code would be helpful, but my guess
> would be that when the NSTableView tries to redisplay your data, your
> NSMutableArray has been released, and the pointer is noo longer valid.
>
> Is it possible you are getting the NSMutableArray by one of the
> convenience methods like [NSMutableArray arrayWithObjects:...] or
> [NSMutableArray arrayWithCapacity:...]? If so, the resulting pointer
> is autoreleased, and will become invalid when the call chain in which
> it was created returns. You should either retain that pointer, or
> obtain a retained pointer with initializers like [[NSMutableArray
> alloc] initWithObjects:...], etc.
>
>     -- F
>
> On Thursday, November 21, 2002, at 11:14  AM, Terje Tjervaag wrote:
>

>> I am working through Aron Hillegass' book Cocoa Programming for Mac
>> OS X

> ...
>>  I have made my own little file class, containing two strings, the
>> file name and a description.  The application is a document
>> application and in my document init method I can create a new file
>> and insert it into the NSMutableArray I use as the datasource for the
>> tableview.  When the application loads it displays this row fine, but
>> when I try to call reloadData AFTER that, even though I have not
>> added any objects to my array, the application crashes with a "due to
>> signal 10 (SIGBUS)".
>> Does anyone have ANY clue as to what can be causing this?  I would
>> give you more details, but I haven't got a clue whats going on here.

_______________________________________________
cocoa-dev mailing list | <email_removed>
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.

Related mailsAuthorDate
mlhow to crash on normally ignored exceptions Brian Redman Nov 21, 00:39
mlRe: how to crash on normally ignored exceptions Dan Wood Nov 21, 05:55
mlRe: how to crash on normally ignored exceptions Vince DeMarco Nov 21, 06:17
mlRe: how to crash on normally ignored exceptions Brian Redman Nov 21, 06:22
mlRe: how to crash on normally ignored exceptions Marcel Weiher Nov 21, 14:48
mlRe: how to crash on normally ignored exceptions David Remahl Nov 21, 15:02
mlNewbie question: chrash on [tableview reloadData] Terje Tjervaag Nov 21, 18:14
mlRe: Newbie question: chrash on [tableview reloadData] Warren.Burton Nov 21, 19:03
mlRe: Newbie question: chrash on [tableview reloadData] Fritz Anderson Nov 21, 20:25
mlRe: Newbie question: chrash on [tableview reloadData] Terje Tjervaag Nov 21, 20:25
mlRe: Newbie question: chrash on [tableview reloadData] Terje Tjervaag Nov 21, 21:30
mlRe: Newbie question: chrash on [tableview reloadData] Fritz Anderson Nov 21, 21:50
mlRe: how to crash on normally ignored exceptions matt neuburg Nov 22, 14:29
mlRe: how to crash on normally ignored exceptions David Remahl Nov 22, 14:35