Розетка не отображается ни в построителе интерфейсов (Xcode 3), ни в Xcode4.

Я учусь разрабатывать приложения для iOS (я новичок в Objective-C и Cocoa), и я делаю это очень простое упражнение (две кнопки, которые показывают, что кнопка «Влево» или «Вправо» нажата в метке).

Я просто создаю IBOutlet и пару строк кода, сохраняю оба файла AppViewController, и при попытке подключить IBOutlet к фактической метке в Interface Builder выход не отображается.

Я использую iOS SDK 4.3.

Вот исходный код:

//
//  BotonViewController.h
//  Boton
//
//  Created by Abu on 5/23/11.
//  Copyright 2011 __MyCompanyName__. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface Hola_MundoViewController : UIViewController {

IBOutlet UILabel *statusText; 

}

@property (retain, nonatomic) UILabel *statusText;

-(IBAction)buttonPressed: (id)sender;

@end

А также

//
//  BotonViewController.m
//  Boton
//
//  Created by Abu on 5/23/11.
//  Copyright 2011 __MyCompanyName__. All rights reserved.
//

#import "BotonViewController.h"

@implementation Hola_MundoViewController
@synthesize statusText;

-(IBAction)buttonPressed: (id)sender
{
NSString *title = [sender titleForState:UIControlStateNormal];
NSString *newText = [[NSString alloc] initWithFormat:
                     @"%@ button pressed.", title];
statusText.text = newText;
[newText release];
}

// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:         (UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

- (void)didReceiveMemoryWarning {
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];

// Release any cached data, images, etc that aren't in use.
}

- (void)viewDidUnload {
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}


- (void)dealloc {
[statusText release];
    [super dealloc];
}

@end

Ну вот и все, надеюсь, вы можете мне помочь с этим, возможно, это глупая ошибка, но я много просмотрел и не могу найти решение.


person Hito_kun    schedule 24.05.2011    source источник
comment
@property (сохранить, неатомарное) IBOutlet UILabel *statusText;   -  person TheBlack    schedule 24.05.2011
comment
Вы проверили, правильно ли установлено свойство FilesOwner? Для этого откройте свой ViewController в конструкторе интерфейса Xcode4, выберите Files Owner слева и перейдите на третью вкладку (Identity Inspector) справа. Классный крик будет Hola_MundoViewController   -  person Phlibbo    schedule 24.05.2011
comment
Похоже, в этом виноват отсутствующий IBOutlet (такое случается, когда вы используете старую документацию для изучения xD), спасибо за это, TheBlack.   -  person Hito_kun    schedule 24.05.2011
comment
@TheBlack: Пожалуйста, опубликуйте это как ответ, чтобы ОП мог пометить это как решенное.   -  person sudo rm -rf    schedule 24.05.2011
comment
ésar Gonzalez Добро пожаловать :) пожалуйста, примите ответ arclights ниже.   -  person TheBlack    schedule 25.05.2011


Ответы (1)


Ваша декларация собственности должна выглядеть так

@property (retain, nonatomic) IBOutlet UILabel *statusText;
person arclight    schedule 24.05.2011