使用xib中的视图创建自定义类的实例

时间:2013-02-16 09:24:51

标签: ios objective-c cocoa-touch xib

我有一些自定义视图,由于各种原因,只能使用笔尖实际设置。现在我想初始化这些笔尖,或者从这些笔尖创建视图(对象)。使用下面的代码这样做有效,但我不知道在生成这些方法时调用哪些init方法。我不得不使用drawRect方法来做各种设置。

NSArray *bundleL = [[NSBundle mainBundle] loadNibNamed:@"nibName" owner:self options:nil];
                    for (id object in bundleL) {
                        if ([object isKindOfClass:[MyClass class]]){
                            myObject = (MyClass *)object;
                        }
                    }

myObject = (MyClass *)object;之间的区别是什么?“{1}}与”myObject = [myClass alloc]initWithSomeMethod];相对,而{{1}}到目前为止对我没有用。

2 个答案:

答案 0 :(得分:2)

[[MyClass alloc] init]返回该类的新实例:一个与XIB文件中的对象不同的对象。 myObject = object;只是执行一个简单的指针赋值 - myObjectobject将指向内存中的同一个对象。

答案 1 :(得分:1)

进行更多调查,我认为做我想做的正确方法如下:

CustomView *aview = [[[NSBundle mainBundle] loadNibNamed:@"CustomXib" owner:self options:nil]objectAtIndex:0];
[self.view addSubview:aview];