paxdiablo абсолютно прав, но в случае, если вы не уверены в синтаксисе для передачи по ссылке, вот что ваш код должен быть:
- (void) menuItem: (UIView*)vMenu menuButton:(UIButton **)bMenu menuLabel: (UILabel **)lMenu menuPosX: (double)posX menuLenX: (double)lenX menuTagNum: (int)tagNum menuText: (NSString*)txtMenu{
*bMenu = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[*bMenu setFrame:CGRectMake(posX,0,lenX,25)];
[*bMenu setTag: tagNum];
[*bMenu addTarget:pSelf action:@selector(NewNumber:) forControlEvents:UIControlEventTouchUpInside];
[vMenu addSubview:*bMenu];
*lMenu = [[UILabel alloc] initWithFrame:CGRectMake(posX,0,lenX,25)];
[*lMenu setBackgroundColor:[UIColor lightGrayColor]];
[*lMenu setText:[NSString stringWithFormat: txtMenu]];
[*lMenu setFont:[UIFont systemFontOfSize:14 ]];
[*lMenu setTextAlignment:UITextAlignmentCenter];
[vMenu addSubview: *lMenu];
NSLog(@"\nPointer Inside: %@\n", *lMenu); // <--------- INSIDE WORKS
}
- (void) menuBuild{
pSelf = self;
theString = @"";
vMenu = [[UIView alloc] initWithFrame:CGRectMake(0,0,320,25)];
[pSelf.view addSubview:vMenu];
[vMenu setBackgroundColor:[UIColor grayColor]];
iTime = 2;
[self menuItem:vMenu menuButton:&bMenu_time menuLabel:&lMenu_time menuPosX:240+20 menuLenX:60 menuTagNum:102 menuText:[NSString stringWithFormat: @"Hold: %d", iTime]];
NSLog(@"\nPointer Outside: %@\n", lMenu_time); // <----- OUTSIDE is NULL ??
}
На что нужно обратить внимание:
- объекты, переданные по ссылке в параметрах метода, используют **
- для передачи адреса объекта одному из этих параметров, используйте & object при вызове метода
- для ссылки наобъект, который передается по ссылке, добавьте к переменной префикс *
Посмотрите, как iOS использует параметры ошибок в таких методах, как NSString initWithContentsOfFile: error: для большего количества примеров того, как используется этот подход.