setValue:forUndefinedKey:]:此 class 不符合使用 UICollectionView 键的键值编码
setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key Using UICollectionView
我有一个 UICollectionView,其中填充了具有自定义 class 的单元格,每个单元格都有 3 个标签和图像,我刚刚添加了一个按钮,在添加按钮之前一切正常,现在我添加了按钮并将其连接到自定义单元格 class(我还连接了标签和图像)填充 UICollectionView 时应用程序崩溃。
在连接检查器上,按钮只有将他连接到自定义单元格 class(与其他元素一样)的插座,那么为什么应用程序会崩溃?
这是我的头文件:
#import <UIKit/UIKit.h>
@interface CollectionViewCell : UICollectionViewCell
@property (weak, nonatomic) IBOutlet UIButton *TestButton; //this one is the button that causes the crash
@property (weak, nonatomic) IBOutlet UILabel *titleP;
@property (weak, nonatomic) IBOutlet UILabel *price;
@property (weak, nonatomic) IBOutlet UILabel *codeP;
@property (weak, nonatomic) IBOutlet UIImageView *img;
@end
编辑:
我不知道 StoryBoard 发生了什么,但我只需要清理项目并且一切正常,感谢大家的帮助。
通常当我收到此错误时,是因为我在代码中重命名了一个出口但没有正确更新故事板。如果您 select 您的故事板和连接检查器,您可能会看到其中一个连接带有 !那应该是你的罪犯。
希望对您有所帮助。
根据我的经验,这种情况会发生:
- 我在 right clicking on the name of the variable/function
时重命名了一个 IBOutlet/IBAction 而没有使用 refactor
- 我已经从代码中删除了 IBOutlet/IBAction,但没有删除与 connection inspector 的连接。
因此请务必检查连接检查器是否有 yellow triangle 的 renamed/removed 变量或函数。
如果 IBOutlet 连接正确,请尝试转到身份检查器,确保设置了“模块”(无论是选择“从目标继承模块”还是手动输入)。
这解决了我的错误。
我有一个 UICollectionView,其中填充了具有自定义 class 的单元格,每个单元格都有 3 个标签和图像,我刚刚添加了一个按钮,在添加按钮之前一切正常,现在我添加了按钮并将其连接到自定义单元格 class(我还连接了标签和图像)填充 UICollectionView 时应用程序崩溃。 在连接检查器上,按钮只有将他连接到自定义单元格 class(与其他元素一样)的插座,那么为什么应用程序会崩溃? 这是我的头文件:
#import <UIKit/UIKit.h>
@interface CollectionViewCell : UICollectionViewCell
@property (weak, nonatomic) IBOutlet UIButton *TestButton; //this one is the button that causes the crash
@property (weak, nonatomic) IBOutlet UILabel *titleP;
@property (weak, nonatomic) IBOutlet UILabel *price;
@property (weak, nonatomic) IBOutlet UILabel *codeP;
@property (weak, nonatomic) IBOutlet UIImageView *img;
@end
编辑: 我不知道 StoryBoard 发生了什么,但我只需要清理项目并且一切正常,感谢大家的帮助。
通常当我收到此错误时,是因为我在代码中重命名了一个出口但没有正确更新故事板。如果您 select 您的故事板和连接检查器,您可能会看到其中一个连接带有 !那应该是你的罪犯。
希望对您有所帮助。
根据我的经验,这种情况会发生:
- 我在 right clicking on the name of the variable/function 时重命名了一个 IBOutlet/IBAction 而没有使用
- 我已经从代码中删除了 IBOutlet/IBAction,但没有删除与 connection inspector 的连接。
refactor
因此请务必检查连接检查器是否有 yellow triangle 的 renamed/removed 变量或函数。
如果 IBOutlet 连接正确,请尝试转到身份检查器,确保设置了“模块”(无论是选择“从目标继承模块”还是手动输入)。
这解决了我的错误。