2012-03-16 2 views
0

두 번째보기를 열려고 할 때 응용 프로그램을 작성하지만 문제가 있습니다.하나의 입자보기를 선택할 때 잡히지 않는 예외

코드 :

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view. 
    NSInteger FontSizeValue = [[NSUserDefaults standardUserDefaults] integerForKey:@"FontSize"]; 
    UIFont *pagedefault = [UIFont fontWithName:@"Arial" size:FontSizeValue]; 
    Page1Text.font = pagedefault; 
    Page2Text.font = pagedefault; 
} 

출력 :

2012-03-16 11:16:11.573 Accessibility Guide[3418:f803] *** Terminating app due to 
uncaught exception 'NSUnknownKeyException', reason: '[<TextViewController 0x687e4d0> 
setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key 
Page2.' 
*** First throw call stack: 
(0x13cd022 0x155ecd6 0x13ccee1 0x9c5022 0x936f6b 0x936edb 0x951d50 0x23971a 0x13cedea 
0x13387f1 0x23826e 0xde1fc 0xde779 0xde99b 0xded11 0xf08fd 0xf0aef 0xf0dbb 0xf185f 
0xf1e06 0xf1a24 0x44dde6 0x4424d0 0xa8581 0xa87fa 0x93d85d 0x13a1936 0x13a13d7 0x1304790 
0x1303d84 0x1303c9b 0x12b67d8 0x12b688a 0x17626 0x233d 0x22a5) 
terminate called throwing an exception(lldb) 

더 이상 정보를 요청하시기 바랍니다. 나는 여전히 객관적으로 새로운 것이기 때문에 최선을 다할 것입니다.

참고 : 모든 뷰가 동일하게 보이지만 모두 공유하기 때문에 두 뷰 (두 개 뷰만 있지만 더 많은 뷰가 있습니다)에 대해 하나의 뷰 컨트롤러 파일 (TextViewController.h TextViewController.m)을 사용하고 있습니다. 같은 코드. 각 뷰는 "다음 버튼"과 "텍스트 상자"

TextViewController.h

#import <UIKit/UIKit.h> 

@interface TextViewController : UIViewController 
@property (weak, nonatomic) IBOutlet UITextView *Page1Text; 
@property (weak, nonatomic) IBOutlet UITextView *Page2Text; 

@end 

TextViewController.m

#import "TextViewController.h" 

@interface TextViewController() 

@end 

@implementation TextViewController 
@synthesize Page1Text; 
@synthesize Page2Text; 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view. 
    NSInteger FontSizeValue = [[NSUserDefaults standardUserDefaults] integerForKey:@"FontSize"]; 
    UIFont *pagedefault = [UIFont fontWithName:@"Arial" size:FontSizeValue]; 
    Page1Text.font = pagedefault; 
    Page2Text.font = pagedefault; 
} 
- (void)viewDidUnload 
{ 
    [self setPage1Text:nil]; 
    [self setPage2Text:nil]; 
    [super viewDidUnload]; 
    // Release any retained subviews of the main view. 
} 

답변

1

이 어떤 구성 요소가하는 XIB 파일처럼, 당신의 클래스가 찾을 수없는 키에 대한 접근을 할 것으로 예상 때 발생하는 것으로 보인다. Page2에 뭔가를 묶고 있습니까?

비슷한 질문 herehere.

+0

Page 2 나는 폰트를 설정할 수 있도록 IBOutlet을 가지고 있습니다. – ReArmedHalo

+0

또한 오류에서 얻은 것으로부터, 내가 설정을 호출하고이를 두 번 사용하는 것을 좋아하지 않습니다. – ReArmedHalo

+0

당신이 대답을 표시했는데 그 이유는 당신이 게시 한 유사한 질문에서 솔루션이 꽤 많이 언급 되었기 때문입니다 (두 번째 답변) 답변에 대한 다른 의견보기 – ReArmedHalo

1

Page1Text 무엇을 가지고? (및 Page2Text) TextViewController의 인스턴스입니까? (그렇다면 .. 변수는 소문자로 시작합니다.) 그리고 .. 그렇다면 .. TextViewController 클래스에 속성 이름 글꼴이 있습니까?

@interface TextViewController : UIViewController 
@property (nonatomic, strong) UIFont* font; 
@end 
+0

Page1 텍스트 및 Page2 텍스트는보기의 텍스트 필드입니다. 나는 당신의 다른 질문에도 대답을 믿습니다. 나는 대문자와 소문자로 이름을 선언하는 적절한 방법을 잊어 버렸다. 죄송합니다 – ReArmedHalo

+0

클래스의 인터페이스를 게시 할 수 있습니까 (속성이 선언 된 곳)? 자의로 부동산에 접근하려 했습니까? (self.Page1Text.font = pagedefault) – Francesco

+0

물론, 주요 질문에 추가하겠습니다. – ReArmedHalo

관련 문제