Вы не должны возвращать это из init
; попробуйте:
-(id) init{
if ((self = [super init])) {
[[NSBundle mainBundle] loadNibNamed:@"MyXib" owner:self options:nil];
}
return self;
}
Или, альтернативно, удалите метод init
из myView
и вместо вашего верхнего кода выполните:
myView *bso = nil;
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"MyXib" owner:self options:nil];
for (id o in nib) {
if ([o isKindOfClass:[myView class]]) {
bso = o;
break;
}
}
if (bso) {
bso.assignProperty = object;
[self.view addSubview:bso];
} else {
NSLog(@"ERROR: Could not load bso!");
}
Также обратите внимание, что вызов вашего класса myView
сбивает с толку - программисты Obj-C ожидают, что классы начнутся с заглавной буквы.