Problem with “this class is not key value coding-compliant”?

There are a couple of options to resolve this - i'll let you decide which is the most appropriate The reason it's failing is because the owner is being passed as nil. You're binding the actionText outlet to the file's owner in IB, but then when loading the nib, the owner is nil. I'd guess that when loading with a nil owner behind the scenes an NSObject is used, which is why you're getting the key/value error My previous advice to pass the cell as the owner would also fail as I didn't know how the Nib is constructed; the cell is nil as you've yet to create it (and dequeue is passing nil back, so even pass cell as the owner is still essentially passing nil) Two options: Instantiate a new cell in your -cellForRowAtIndexPath:(NSIndexPath *)indexPath implementation, and pass that new cell as the owner (but i'd guess that this isn't the best solution for you) Or, and I'd suggest this is the better solution, change the binding of actionText in your nib file to the Alert Cell and not the file's owner (You have File's Owner and an Alert Cell - bind the UILabel to the actionText outlet of the Alert Cell, and not the File's owner, which is what's being done at present) - I suspect this is what you want.

With that in mind file's owner can become an NSObject again Original answer kept below as the file's owner class is also a common cause for this error It suggests that you've 'instantiated' an AlertCell in InterfaceBuilder, and you're binding something to actiontext, but the class isn't set to AlertCell, it's still NSObject? Take a look at the class text box on the identify tab of the tool palette for that object in Interface Builder. The class should be AlertCell, but i'd guess it's still set to NSObject As an aside, and feel free to ignore this advice, but there are a couple of extra things i'd encourage you to do, purely from an Objective C expectations/conventions point of view: Name your files after your class (upper case the first character of the filename) Prefix your class names; two uppercase characters, typically your initials (i'd name it DWAlertCell, for example).

There are a couple of options to resolve this - i'll let you decide which is the most appropriate. The reason it's failing is because the owner is being passed as nil. You're binding the actionText outlet to the file's owner in IB, but then when loading the nib, the owner is nil.

I'd guess that when loading with a nil owner behind the scenes an NSObject is used, which is why you're getting the key/value error. My previous advice to pass the cell as the owner would also fail as I didn't know how the Nib is constructed; the cell is nil as you've yet to create it (and dequeue is passing nil back, so even pass cell as the owner is still essentially passing nil). Two options: Instantiate a new cell in your -cellForRowAtIndexPath:(NSIndexPath *)indexPath implementation, and pass that new cell as the owner (but i'd guess that this isn't the best solution for you) Or, and I'd suggest this is the better solution, change the binding of actionText in your nib file to the Alert Cell and not the file's owner (You have File's Owner and an Alert Cell - bind the UILabel to the actionText outlet of the Alert Cell, and not the File's owner, which is what's being done at present) - I suspect this is what you want.

With that in mind file's owner can become an NSObject again. ------- Original answer kept below as the file's owner class is also a common cause for this error ------- It suggests that you've 'instantiated' an AlertCell in InterfaceBuilder, and you're binding something to actiontext, but the class isn't set to AlertCell, it's still NSObject? Take a look at the class text box on the identify tab of the tool palette for that object in Interface Builder.

The class should be AlertCell, but i'd guess it's still set to NSObject. As an aside, and feel free to ignore this advice, but there are a couple of extra things i'd encourage you to do, purely from an Objective C expectations/conventions point of view: Name your files after your class (upper case the first character of the filename). Prefix your class names; two uppercase characters, typically your initials (i'd name it DWAlertCell, for example).

Unfortunately, I think that's not the problem. In IB, I can see the type of "File Owner" and "Alert Cell" set to "Alert Cell". Have you any another idea?

– Rob Sep 21 '10 at 13:48 Sorry for the typo error, my class files are capitalized! I'll correct it soon. I'll try to prefix my class names, but I think that won't solve my current issue.

– Rob Sep 21 '10 at 13:52 Truthfully i'm sure it's your IB config - i've hit this myself a couple of times. The other things i'd suggest (and without knowing the wider project, this may not be the cause), the owner of the loaded nib should really be the cell you've instantiated: NSBundle mainBundle loadNibNamed:@"AlertCell" owner:cell options:nil. Without an owner i'm not sure where the actionText outlet will be bound to.

– dannywartnaby Sep 21 '10 at 13:56 Even if I set cell as the owner of the nib loaded, it failed :/ – Rob Sep 21 '10 at 14:05 Can you share your nib file? The problem is loading your nib, i'm convinced the problem is with the way it's configured in IB. – dannywartnaby Sep 21 '10 at 14:31.

You probably based your code on a web tutorial such as the one at e-string.com/content/custom-uitableviewc... or icodeblog.com/2009/05/24/custom-uitablev... Your problem (and I'm 99% sure this is where you tripped up, I just made the same mistake) is that in interface builder you linked your IBOutlets from File's Owner when you should link them from the cell view. This is why you are getting the errors.

That's it - thx – crudolf Oct 17 at 18:13.

I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.

Related Questions