小编Coh*_*ars的帖子

UITextView becomeFirstResponder()添加新行

我是iOS/Swift的新手,在设置UITextView第一响应者时(next从上一次触摸时)我有一种奇怪的行为UITextField.它会自动在中插入一个新行UITextView.代码:

class MyViewController: UIViewController, UITextFieldDelegate, UITextViewDelegate {
  @IBOutlet weak var nameTextField: UITextField!
  @IBOutlet weak var descriptionTextView: UITextView!

  override func viewDidLoad() {
    nameTextField.delegate = self
    descriptionTextView.delegate = self
  }

  func textFieldShouldReturn(nameTextField: UITextField) -> Bool {
    nameTextField.resignFirstResponder()
    descriptionTextView.becomeFirstResponder()
    return true
  }

  func textView(descriptionTextView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool {
    if (text == "\n") {
      descriptionTextView.resignFirstResponder()
      return false
    }
    return true
  }
}
Run Code Online (Sandbox Code Playgroud)

总是添加一个新行next,即使已有文本或新行,我也会按.第一个是next这里发生的事情(光标自动在第二行). 在此输入图像描述

如果我返回文本字段并再次按下,则光标位于第 …

ios swift

3
推荐指数
1
解决办法
1608
查看次数

Platform.js(Polymer),jQuery 2.xx和Bootstrap - 错误

我在空白页面上包含Platform.js(v0.3.4)(Polymer),jQuery(v2.xx)和Bootstrap.js(v3.2.0)之后发生了一个奇怪的错误.

使用Safari和Firefox,在(空)页面上的某些事件(如click或keyup)上会抛出错误:

TypeError:'undefined'不是函数(评估'elem.getAttribute(name)')

jQuery v1.11.1没有问题,我没有尝试其他版本的Platform.无论是Chrome还是Opera.

如果我在Bootstrap中用'dblclick'替换所有'click',则单击时不会再出现错误(当然,它会在dblclick上发生).

嗯,这没什么大不了的,但令人惊讶.

以下是要测试的代码:

<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <title>PJB</title>
        <script src="http://cdnjs.cloudflare.com/ajax/libs/polymer/0.3.4/platform.js"></script>
    </head>
    <body>
         <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.js"></script>
         <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.js"></script>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

如果有人知道如何避免这个错误而不破坏Bootstrap,jQuery of Platform,我很高兴知道.

谢谢.

javascript jquery platform twitter-bootstrap polymer

2
推荐指数
1
解决办法
1517
查看次数

大状态下的React / Redux性能

我正在处理一个具有很多可编辑值(* big意味着> 1000)的大json,它完全呈现在同一页面上,所以我的状态很简单{ data: bigBigJson }

最初的渲染时间很长,但是还可以。

问题在于,当输入触发一个onChange(和一个redux动作)时,该值会在状态中更新,并且整个渲染会再次发生。

我不知道人们如何处理?是否有简单的解决方案(甚至不一定是最佳实践)。

笔记:

  • json文件由外部API提供,我无法更改

  • 可以将状态分为几个子状态(这是多个级别的json),但希望有一个更简单/更快的解决方案(尽管我知道这可能是最佳实践)

  • 我正在使用react和redux,不是immutable.js,但一切都是不可变的(显然)

-

更新(关于DSS答案)

•(情况1)假设状态为:

{
  data: {
    key1: value1,
    // ...
    key1000: value1000
  }
}
Run Code Online (Sandbox Code Playgroud)

如果keyN更新了,所有状态都将重新渲染,对吧?减速器将返回如下内容:

{
  data: {
    ...state.data,
    keyN: newValueN
}
Run Code Online (Sandbox Code Playgroud)

那是一回事,但这不是我的情况。

•(第2种情况)状态更像(过于简化):

{
  data: {
    dataSet1: {
      key1: value1,
      // ...
      key10: value1000
    },
    // ...
    dataSet100: {
      key1: value1,
      // ...
      key10: value1000
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

如果dataN.keyN已更新,我将退还给减速机

{
  data: {
    ...state.data,
    dataN: {
      ...state.data.dataN, …
Run Code Online (Sandbox Code Playgroud)

performance reactjs redux

1
推荐指数
1
解决办法
1009
查看次数

在if语句中声明变量时出错

当我在我的服务器上上传这段代码时,我有一个解析错误(php 5.5.12):

if (!empty($a = $b)) {...}
Run Code Online (Sandbox Code Playgroud)

错误是:

语法错误,意外'=',期待')'

我对MAMP(php 5.5.10)上的相同代码没有任何问题.当然,我可以使用以下代码轻松解决它:

$a = $b;    
if (!empty($a)) {...}
Run Code Online (Sandbox Code Playgroud)

但是,第一个应该工作.

谢谢!

编辑:我工作.我刚刚遇到了PHP版本的问题.

php

0
推荐指数
1
解决办法
95
查看次数