我有一些自定义视图,由于各种原因,只能使用笔尖实际设置。现在我想初始化这些笔尖,或者从这些笔尖创建视图(对象)。使用下面的代码这样做有效,但我不知道在生成这些方法时调用哪些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}}到目前为止对我没有用。
答案 0 :(得分:2)
[[MyClass alloc] init]
返回该类的新实例:一个与XIB文件中的对象不同的对象。 myObject = object;
只是执行一个简单的指针赋值 - myObject
和object
将指向内存中的同一个对象。
答案 1 :(得分:1)
进行更多调查,我认为做我想做的正确方法如下:
CustomView *aview = [[[NSBundle mainBundle] loadNibNamed:@"CustomXib" owner:self options:nil]objectAtIndex:0];
[self.view addSubview:aview];