2012-03-16 58 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) 

隨意請求任何更多的信息。我對Objective-C還是比較新的,所以我會盡我所能。

注意:我使用一個視圖控制器文件(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文件)希望您的類具有無法找到的鍵的訪問器時。你是否對第2頁有約束力?

類似問題herehere

+0

Page2我有一個IBOutlet,所以我可以設置字體。 – ReArmedHalo 2012-03-16 15:38:11

+0

也從我得到的錯誤,它不喜歡,我打電話給設置和使用兩次。 – ReArmedHalo 2012-03-16 15:39:01

+0

我標記你爲答案,因爲解決方案在你發佈的類似問題中說得非常多(第二個)請參閱我的其他評論以獲得答案 – ReArmedHalo 2012-03-16 16:07:10

1

什麼是Page1Text? (和Page2Text) 它是你的TextViewController的一個實例嗎? (如果是這樣的話,請..變量以小寫字母開頭) 而且..如果是這樣..你的TextViewController類是否有屬性名稱字體?

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

Page1文本和Page2文本是視圖上的文本字段。我相信也會回答你的另一個問題。我一直在忘記用大寫和小寫來聲明名字的正確方法。對不起 – ReArmedHalo 2012-03-16 15:37:43

+0

你可以發佈你的類的接口(聲明屬性的地方)嗎?您是否嘗試通過自我訪問屬性? (self.Page1Text.font = pagedefault) – Francesco 2012-03-16 15:46:04

+0

當然,我會將其添加到主要問題。 – ReArmedHalo 2012-03-16 15:46:38