My iOS app has a root view controller, and I want to add a few custom `UIView` to it in runtime. I call these custom views widgets because they are small and basically pretty same except size, label text etc.

I have created .h and .m for my widgets, and .xib file. In my root view controller `viewDidLoad` I do this:

```
TestMyView *cell = [[[NSBundle mainBundle] loadNibNamed:@"TestMyView" owner:self options:nil] objectAtIndex:0];    
[self.view addSubview: cell];

```

It works fine. However, I still can't figure out:

* why there's exception `"[<TestViewController 0x7517210> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key mylabel"` if I add `UILabel` mylabel as IBOutlet to my custom UIView class .h file. (I drag drop UILabel in IB then control-drag to .h) I need to change label text when view is created. And I dont quite understand why it complains TestViewController while I didn't add IBOutlet to it, but my custom view .h class?
* how do I change label text in right way then. I dont want to create a View controller for my widgets because I think it wouldn't be necessary. I need to create like 5-6 widgets so I need to create 5-6 view controllers for them?
* it seems initWithCoder doesnt get called when I create the widget? I saw apple doc library says if load view from nib file this method will get called.

If you think I suck at explain this, here's my project code:
<https://dl.dropbox.com/u/43017476/custom.tar.gz>