Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/120.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 在ios中使用自定义键盘的问题_Iphone_Ios_Objective C_Keyboard - Fatal编程技术网

Iphone 在ios中使用自定义键盘的问题

Iphone 在ios中使用自定义键盘的问题,iphone,ios,objective-c,keyboard,Iphone,Ios,Objective C,Keyboard,我已经从link下载了一个使用自定义键盘的示例项目 它工作得很好 但是,当我在项目中使用它时,它返回一个错误--[UIView playKeyboardClick]:发送到实例0x71d6390的无法识别的选择器 我做了什么- 我为NerdKeyboardView.h和NerdKeyboard.m和UIView文件添加了新的viewcontoller文件NerdKeyboardView.h和NerdKeyboardView.m。我从示例项目中粘贴了相同的代码,并在xib中进行了相同的设计 但当我

我已经从link下载了一个使用自定义键盘的示例项目

它工作得很好

但是,当我在项目中使用它时,它返回一个错误-
-[UIView playKeyboardClick]:发送到实例0x71d6390的无法识别的选择器

我做了什么-

我为
NerdKeyboardView.h
NerdKeyboard.m
UIView
文件添加了新的viewcontoller文件
NerdKeyboardView.h
NerdKeyboardView.m
。我从示例项目中粘贴了相同的代码,并在xib中进行了相同的设计

但当我单击NerdKeyboard.xib文件中的按钮时,它返回一个错误

由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[UIView playKeyboardClick]:未识别的选择器已发送到实例0x71d6390'
***第一次抛出调用堆栈:
(0x1c92012 0x10cfe7e 0x1d1d4bd 0x1c81bbc 0x1c8194e 0x2769 0x10e3705 0x172c0 0x17258 0xd8021 0xd857f 0xd76e8 0x46cef 0x46f02 0x24d4a 0x16698 0x1beddf9 0x1bedad0 0x1c07bf5 0x1c07962 0x1c38bb6 0x1c37f44 0x1c37e1b 0x1bec7e3 0x1bec668 0x13ffc 0x1ebd 1DE5)
libc++abi.dylib:terminate调用引发异常

如果要查看代码:

NerdKeyboard.h

#import <UIKit/UIKit.h>

@interface NerdKeyboard : UIViewController

@property (nonatomic, weak) id delegate;

- (IBAction)keyPress:(id)sender;
- (IBAction)doneEditing:(id)sender;

@end
#import <UIKit/UIKit.h>

@interface NerdKeyboardView : UIView <UIInputViewAudioFeedback>

- (void)playKeyboardClick;

@end 
NerdKeyboardView.h

#import <UIKit/UIKit.h>

@interface NerdKeyboard : UIViewController

@property (nonatomic, weak) id delegate;

- (IBAction)keyPress:(id)sender;
- (IBAction)doneEditing:(id)sender;

@end
#import <UIKit/UIKit.h>

@interface NerdKeyboardView : UIView <UIInputViewAudioFeedback>

- (void)playKeyboardClick;

@end 
当我调试它时,错误被抛出行
[(NerdKeyboardView*)self.view playKeyboardClick]

可能是什么问题


如果您有任何建议,我们将不胜感激。

如果连接不正确或操作系统无法找到定义的函数,则会出现此类错误。如果您使用的是xib,检查连接是否更正确。否则,请检查函数setText是否正确写入。可能是外壳或函数名称有问题。

连接没有问题,当我调试它时,错误会抛出到lie
[(NerdKeyboardView*)self.view playboardclick]在playkeyboardclick方法中放置一个断点,然后调试以查看控件是否进入其中..否则self.view会出现一些问题..可能是nilI解决了问题,@omz的评论帮助我解决了问题,保持堆栈溢出友谊看起来视图控制器的视图是普通的
ui视图
,而不是
NerdKeyboardView
。确保在xib中正确设置了类。