2014-10-24 4 views
1

У меня есть UITableView с 2 текстовым полем и кнопкой. Если я запустить симулятор без использования пользовательского класса, я могу видеть текстовые поля и кнопки:UITableView сбрасывается при использовании пользовательского класса

correct view without custom class

Но когда я использую пользовательский класс, мой UITable вид отображает только много строк без содержания:

empty lines with custom class

Interface Builder

Вот как я создал свои свойства:

LoginSceneController.h

#import <UIKit/UIKit.h> 

@interface LoginSceneController : UITableViewController 

@property (nonatomic, strong) IBOutlet UITextField *email; 

@property (nonatomic, strong) IBOutlet UITextField *password; 

- (IBAction)doLogin; 

@end 

LoginSceneController.m

#import "LoginSceneController.h" 

@interface LoginSceneController() 

@end 

@implementation LoginSceneController 

- (void)viewDidLoad { 
    [super viewDidLoad]; 
} 

- (void)didReceiveMemoryWarning { 
    [super didReceiveMemoryWarning]; 
} 

- (void)doLogin { 

    NSURL *url = [NSURL URLWithString:@"http://rest-service.guides.spring.io/greeting"]; 
    NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
    [NSURLConnection sendAsynchronousRequest:request 
             queue:[NSOperationQueue mainQueue] 
          completionHandler:^(NSURLResponse *response, 
               NSData *data, NSError *connectionError) 
    { 
     if (data.length > 0 && connectionError == nil) 
     { 
      NSDictionary *greeting = [NSJSONSerialization JSONObjectWithData:data 
                     options:0 
                     error:NULL]; 
      self.email.text = [[greeting objectForKey:@"id"] stringValue]; 
      self.password.text = [greeting objectForKey:@"content"]; 
     } 
    }]; 
} 
@end 

Проблема происходит, когда я использую пользовательский класс (или ссылки на выход или добавить событие посыла на кнопку).

Что не так?

Редактировать: Я думаю, что мне нужно заполнить свой интерфейс, используя мой собственный класс, потому что статический контент теряется. Возможно ли быть причиной потери контента?

+0

Когда вы говорите, что используете пользовательский класс, можете ли вы быть более конкретным или включить скриншот из Interface Builder? – Dylan

+0

@ Dylan Я включил скриншот ... скажите, пожалуйста, пожалуйста? – placplacboom

ответ

0

У вас есть два варианта, когда дело доходит до UITableView и Interface Builder. У вас может быть динамическое представление таблицы (довольно распространенное), где ваш код переопределяет методы UITableViewController, такие как «numberOfRowsInSection» и «cellForRowAtIndexPath». Другой вариант - статическое табличное представление, и это похоже на то, что вы хотите сделать (тем более, что вы не переопределили два вышеупомянутых метода и не привели к пустой таблице). Я предполагаю, что вам нужно выбрать «статический» для таблицы, как показано на третьем снимке экрана в этом tutorial.

Смежные вопросы