I am building a toy app using core data for two entities Log
(attributes text
and date
) and Tag
with a many-to-many tags
relationship from Log
to Tag
.
I want to show logs in a table, so I:
- created an
NSArrayControlle开发者_开发知识库r
instance,LogController
in IB with entity set toLog
(pic) - created a one-column
NSTableView
whose column is bound toLogController
. pic - linked the
LogController
in my app delegate (AppDelegate
) usingIBOutlet
.AppDelegate
also has themanagedObjectContext
. - created a custom
NSCell
class withNSString
propertiesmainText
andtagsText
that I draw onto the cell - I set the above two cell properties in
AppDelegate
in the- (void)tableView: willDisplayCell: forTableColumn: row:
method. (MainController
is also the table's delegate). For thetagsText
I get the tags for the current log and concatenate them into a singleNSString
Everything works fine, except: When I mouse-select a row that displays multiple tags the app crashes with an EXC_BAD_ACCESS
. That's the only time I have any error, but I don't know what is causing it.
EXC_BAD_ACCESS
is a memory error. You are using an object after deallocating it. It would be difficult to debug this without the code.
Are you using the garbage collector? You do not have to manage memory yourself on the Mac.
Are the properties in your custom NSCell declared as "retain"?
精彩评论