当尝试引用自定义视图出口时,“类不符合键值编码[...]”

时间:2015-03-27 11:25:03

标签: ios view outlet

我在iOS社区中很新,所以这可能是一个愚蠢的问题。我尝试使用可在代码中与之交互的子视图创建自定义视图。这就是我的所作所为:

  1. 我创建了一个PageView.xib
  2. 我创建了一个PageView.m和PageView.h文件
  3. 在PageView.xib>身份检查员>自定义类>上课,我把" PageView"
  4. 我将标签拖入.xib
  5. 我控制+将标签拖到带有代码

    的PageView.h中
    #import <UIKit/UIKit.h>
    #ifndef LosAngeles_PageView_h
    #define LosAngeles_PageView_h
    
    @interface PageView : UIView
    
    @property (weak, nonatomic) IBOutlet UILabel *label;
    
    @end
    
    #endif
    
  6. 然后我尝试在MainViewController中定义的ScrollView中使用此View

    - (void)viewDidLoad {
    [super viewDidLoad];
    
        // Get screen dimensions
        CGRect fullScreenFrame = [[UIScreen mainScreen] bounds];
    
        NSMutableArray *pages = [NSMutableArray array];
    
        // Initialize Views
        for(int i = 0; i < kNumberOfPages; i++){
            // Create new Frame
            CGRect pageFrame;
    
            // Set x offset
            pageFrame.origin.x = i * fullScreenFrame.size.width;
            pageFrame.origin.y = 0;
            pageFrame.size = fullScreenFrame.size;
    
            // Get "PageView" nib content
            NSArray *nibContents = [[NSBundle mainBundle] loadNibNamed:@"PageView" owner:nil options:nil];
    
            // Create view from the nib & set its size
            UIView *newPage = [nibContents lastObject];
            newPage.frame = pageFrame;
    
    
            // Add it into the Array & the ScrollView
            [pages addObject:newPage];
            [mainScrollView addSubview:newPage];
        }
    
        // Resize the content of the ScrollView (otherwise it doesn't scroll)
        mainScrollView.contentSize = CGSizeMake(fullScreenFrame.size.width * kNumberOfPages, fullScreenFrame.size.height);
    }
    
  7. 试图跑但出错了

     'NSUnknownKeyException', reason: '[<NSObject 0x7a7dbb70>
     setValue:forUndefinedKey:]: this class is not key value 
     coding-compliant for the key label.'
    
  8. 我做错了什么?

    额外信息:

    • PageView.xib文件所有者显示&#34;标签&lt; - &gt;标签&#34; in&#34;奥特莱斯&#34; (这里只有一个)
    • 标签视图显示&#34;标签&lt; - &gt;文件所有者&#34; in&#34;引用奥特莱斯&#34; (这里也只有一个)
    • 所有三个文件都在目标成员资格
    • 中打勾
    • 当我只是不引用插座
    • 时,一切正常
    • 试图清理,删除缓存和其他类似的东西。

    感谢您的时间,不要犹豫提问,如果有人想更准确地看到,我可以将项目放在Github上。

    于连

1 个答案:

答案 0 :(得分:0)

您可以在此处查看代码。我用新文件“PageViewNew”

更新了代码

https://www.dropbox.com/s/eogulm5jkbsero9/losangeles.zip?dl=0

工作正常。