- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在使用键盘,我刚刚安装了 xcode 7 beta 2然后我收到很多警告。
超过 24 个黄色错误我认为这会使键盘崩溃on xcode 6.4 无错误无键盘当然
我发现很难解决这些错误。
警告:
Conditional cast from UITextDocumentProxy to UIKeyInput always succeeds
func handleBtnPress(sender: UIButton) {
if let kbd = self.keyboard {
if let textDocumentProxy = kbd.textDocumentProxy as? UIKeyInput {
textDocumentProxy.insertText(sender.titleLabel!.text!)
}
kbd.hideLongPress()
if kbd.shiftState == ShiftState.Enabled {
kbd.shiftState = ShiftState.Disabled
}
kbd.setCapsIfNeeded()
}
}
警告:
Conditional cast from UITouch to UITouch always succeeds
override func touchesEnded(touches: Set<UITouch>, withEvent event: UIEvent?) {
for obj in touches {
if let touch = obj as? UITouch {
let view = self.touchToView[touch]
let touchPosition = touch.locationInView(self)
if self.bounds.contains(touchPosition) {
self.handleControl(view, controlEvent: .TouchUpInside)
}
else {
self.handleControl(view, controlEvent: .TouchCancel)
}
self.touchToView[touch] = nil
}
}
}
最佳答案
这些不是错误,它们只是警告,它们可能不是导致崩溃的原因,但是您可以通过执行以下操作来解决这两个示例:
无论如何,UITextDocumentProxy
协议(protocol)都符合 UIKeyInput
,因此无需将 kbd.textDocumentProxy
转换为 UIKeyInput
.
您将能够在没有任何警告的情况下执行以下操作:
func handleBtnPress(sender: UIButton) {
if let kbd = self.keyboard {
kbd.textDocumentProxy.insertText(sender.titleLabel!.text!)
kbd.hideLongPress()
if kbd.shiftState == ShiftState.Enabled {
kbd.shiftState = ShiftState.Disabled
}
kbd.setCapsIfNeeded()
}
}
与obj
一样,编译器已经知道它是一个UITouch
对象,所以不需要强制转换,你可以把所有的代码都从中取出来>如果让 touch = obj 作为? UITouch
声明如下:
override func touchesEnded(touches: Set<UITouch>, withEvent event: UIEvent?) {
for touch in touches {
let view = self.touchToView[touch]
let touchPosition = touch.locationInView(self)
if self.bounds.contains(touchPosition) {
self.handleControl(view, controlEvent: .TouchUpInside)
}
else {
self.handleControl(view, controlEvent: .TouchCancel)
}
self.touchToView[touch] = nil
}
}
小提示:alt 点击一个变量来查看它被解析为什么类型:
关于ios - 黄色警告 : Conditional cast from UITextDocumentProxy to UIKeyInput always succeeds,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31262500/
我刚刚在 centos 7 机器上设置了一个 gitweb 服务器,但是当我尝试克隆时,他问我密码?我怎么能更改服务器上的密码,因为我从来没有设置过... $ git clone git@xxx.xx
我使用 html2haml.heroku.com 并将一些普通字符串转换为以下内容: A normal sentence is here = succeed '.' do %strong and
过去几天我一直在 AJAX 上进行大量搜索。 我明白为什么我推迟学习 JavaScript 的特定领域了,这似乎有点复杂。 我注意到大多数问题和答案都是围绕如何通过 POST 发送数据制定的,但我找不
Windows SDK 功能 SUCCEEDED 宏: #define SUCCEEDED(hr) (((HRESULT)(hr)) >= 0) -----------------------^---
我正在使用 Jenkins 进行持续集成,并且我有一些项目具有上游和下游构建连接。我选择了 Run only if build succeeds在每个项目的配置中。但是,对于不稳定的构建,仍然会触发构
这有点像一堵文字墙,但我试图让它尽可能短。 情况: 我正在打开一个网站,该网站显示一个任务和一个加载栏。加载栏可以显示 0-100%、完成或停止在 0-100% 的任一数字。 理念: 我使用“获取文本
我想重复执行一个操作,并增加每个操作之间的超时时间,直到它成功或经过一定时间。我如何使用 Q 中的 Promise 来构建它? 最佳答案 我认为这里的所有答案都非常复杂。 Kos 的想法是正确的,但您
C:\Users\User\Desktop>git clone https://github.com/XXXXXXXXXX.git Cloning into 'one-piece'... remote
我正在用 python 开发扫雷克隆,但在让揭露功能工作时遇到问题。目前,我收到以下无限错误消息: File "/Users/home/Desktop/minesweeper.py", line 79
类似于MongoDB update: how to check if an update succeeds or fails?但对于默认的 mongodb shell。 db.collection.u
来自 https://www.hackingwithswift.com/articles/161/how-to-use-result-in-swift ,它有关于如何使用“快速结果”的示例,如下所示:
我创建了一个 phonegap 应用程序,我在其中调用驻留在 nopCommerce 插件中的 WCF 服务。 发送 api 请求时出现以下错误: Cross-Origin Request Block
这是我第一次使用 Stripe 进行测试,我无法解决我遇到的这个问题。我从 this link 复制了 Node/Express 的代码(我只是将端口更改为 3000 并删除了 bodyParser,
无法确定 Ajax 成功的条件: function GetProm(){ var checkmoket = false; $.ajax({ t
我有一个管道,可以从外部提取数据并作为暂存数据汇入 SQL Server 表中。使用 4 '复制数据' 获取原始数据的过程已成功。因为列太多(250列),所以我把它们分开了。 下一个要求是通过获取成功
使用数据工厂 V2,我尝试实现从一个 Azure SQL 数据库到另一个数据库的数据流复制。 我想执行一个条件事件 If Condition 取决于管道执行的先前事件是否成功,但要在 If Condi
在语法文档中的以下部分: "Always succeed" assertion 我重现了那里提供的示例,并添加了代码来显示解析机制的每个阶段生成的表: use v6.d; grammar Digifi
我有一个管道,可以从外部提取数据并作为暂存数据汇入 SQL Server 表中。使用 4 '复制数据' 获取原始数据的过程已成功。因为列太多(250列),所以我把它们分开了。 下一个要求是通过获取成功
使用数据工厂 V2,我尝试实现从一个 Azure SQL 数据库到另一个数据库的数据流复制。 我想执行一个条件事件 If Condition 取决于管道执行的先前事件是否成功,但要在 If Condi
更新:嗯,似乎发生了一些事情。现在,我的收件箱中的邮件数量已从 36,000 多条增加到 353,000 多条。啊?这里到底发生了什么。 我从未存档过 Gmail 收件箱,因此其中有 36,000 多
我是一名优秀的程序员,十分优秀!