小编Mad*_*vad的帖子

故事板编辑器中的"第一响应者"和"退出"框的用途是什么?

在XCode IDE中,MainStoryboard编辑器中视图控制器的底部有两个框:First Responder和Exit.

我知道firstResponder在代码中是以编程方式编写的,但在storyboard编辑器中,我似乎无法通过它做任何有用的事情.

我是否能够使用此区域中的第一个响应者以某种方式设置视图的第一个响应者?我希望第一个文本字段在加载时处于活动状态,我尝试右键单击并拖动无效.我知道我可以在viewDidLoad方法中以编程方式设置它,但有没有办法在这里做到这一点?

什么是绿色出口?

第一响应者(橙色)和退出(绿色) - 它们用于什么?

xcode cocoa objective-c ios responder-chain

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

在Arduino草图中包含.cpp和.h文件的正确方法

一,问题:

主草图文件:

char foo;            // required to clean up some other problems
#include <Arduino.h> // tried it in desperation, no help
#include "a.h"

void setup(){
  Serial.begin(9600);
  Serial.println("\nTest begins");
  for (int num = -1; num < 1; num++){
    Serial.print(num);
    if (isNegative(num)){
      Serial.println(" is negative");
    } else {
      Serial.println(" is NOT negative");
    }
  }
}

void loop(){}
Run Code Online (Sandbox Code Playgroud)

//啊

#ifndef H_A
#define H_A

boolean isNegative(int x);                  // Err#1
int anotherOdity();

#endif // H_A
Run Code Online (Sandbox Code Playgroud)

// a.cpp

#include "a.h"

int isNegative(int x){
  Serial.println("I can't print …
Run Code Online (Sandbox Code Playgroud)

c++ arduino include header-files arduino-ide

13
推荐指数
1
解决办法
7万
查看次数

NSString stringWithFormat的动态字符串格式

我一直在尝试创建一个动态字符串格式,以便通过用户选项精度或填充可以在某种程度上由用户定义.

一个例子包括,以24小时时间格式填充前导零.在正常时间格式中,小时数可以用一个数字表示,也可以用零填充的数字表示.这以字符串格式表示:

...stringWithFormat:@"Hour: %02i", hour   // leading zero padded
Run Code Online (Sandbox Code Playgroud)

...stringWithFormat:@"Hour: %i", hour     // not leading zero padded
Run Code Online (Sandbox Code Playgroud)

我想实现是有包含一个variable @""@"02"并在之间的格式字符串呈现变量%i.

我做了几个实验,似乎无法做到这一点,我开始认为这是不可能的stringWithFormat.

我试过了:

...stringWithFormat:@"Hour: %%@i", padding, hour

...stringWithFormat:@"Hour: %@%i", padding, hour

和别的.

有任何想法吗?

objective-c stringwithformat ios

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

在用户开始键入时清除UITextField

简短版本:如何使UITextField框删除用户首次按键上的所有内容?在用户开始输入内容之前,我不希望删除信息.即,在开始编辑时清除它是不够的.

long version:我有三个循环的UITextField(使用返回键并在"shouldReturn"方法中捕获按钮.UITextField中已有文本,如果用户没有输入任何内容,只是转到下一个UITextField ,值应保持不变(默认行为).

但我希望如果用户开始输入,它会自动清除文本.类似于整个字段突出显示,然后键入任何东西删除fiels然后添加用户按键.

"编辑开始时清除"并不好,因为文本会立即清除出现在字段中的光标.那是不可取的.我以为我可以在这里使用占位符,但这不能作为默认值,我找不到默认值属性.突出显示和选定属性在这方面也没有做任何事情.

default clear textfield ios

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

了解`nvm ls`的输出。一切安装正确吗?

我想我可能已经在做的安装过程中的某种不利nodejsnvm

当我开始bash或打开终端时,我得到:

:~$ bash
N/A: version "N/A -> N/A" is not yet installed.

You need to run "nvm install N/A" to install it before using it.
Run Code Online (Sandbox Code Playgroud)

nvm ls从命令行使用我得到:

<code> nvm ls </ code>的结果

回顾我的历史,我确实找到了两行试图设置别名的行(我相信我是从遵循的一组说明中得到的)

据我所知,除了bash启动时,我没有任何错误,并且这些行是从生成的.bashrc

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion
Run Code Online (Sandbox Code Playgroud)

我的主要目的是了解的输出,nvm ls是否有需要修复的内容。

除了奖金,我如何摆脱登录时的这些错误(除了简单地删除最后两行);)

我在Ubuntu 17.04上

更新:

检查Matt答案中的链接后,我看到这些是我看到的说明。看来我在这里和那里错过了一点。这是我所做的,到目前为止的结果是:

签出链接并运行后,除lts/boron版本号外,其他更改没有太大变化。呈黄色,我猜它仍然没有安装。仍然不确定为什么要列入我的名单。

第一次更新后

在我发现的说明中,我错过了此说明:

nvm install iojs-v1.0.3
Run Code Online (Sandbox Code Playgroud)

修复了<code> iojs </ code>

所以我尝试了:

安装节点,清除节点->稳定线

所以我清除了红色 …

ubuntu node.js npm nvm

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

何时使用 `raise_for_status` 与 `status_code` 测试

我一直使用:

r = requests.get(url)
if r.status_code == 200:
    # my passing code
else:
    # anything else, if this even exists
Run Code Online (Sandbox Code Playgroud)

现在我正在处理另一个问题并决定允许其他错误,而是现在使用:

try:
    r = requests.get(url)
    r.raise_for_status()
except requests.exceptions.ConnectionError as err:
    # eg, no internet
    raise SystemExit(err)
except requests.exceptions.HTTPError as err:
    # eg, url, server and other errors
    raise SystemExit(err)
# the rest of my code is going here
Run Code Online (Sandbox Code Playgroud)

除了可以在此级别测试各种其他错误之外,一种方法是否比另一种方法更好?

python error-handling python-3.x python-requests

5
推荐指数
3
解决办法
2110
查看次数

NSURLConnection和sendAsynchronousRequest:queue:completionHandler: - 完成块是否在主线程中运行

如果我用NSURLConnectionsendAsynchronousRequest:queue:completionHandler:,我是否需要采取完成处理器内部的任何特殊注意事项?具体而言,是异步直接通过发送NSURLConnection相同/相似的如使用dispatch_async在该完成块将需要回到主线程与UI交互?

例如:在使用dispatch_asyncUI进行交互(可能是错误的单词)后,应用必须使用performSelectorOnMainThread.

这是一个考虑因素sendAsynchronousRequest:queue:completionHandler:吗?

注意:我发现了类似的问题,但没有具体说明.例如,在NSURLConnection中阻止主线程吗?indiekiduk特别声明这是一个新的线程,虽然内部的一个-我认为这是有缺陷的,因为我认为这只是在运行循环结束-但我仍然在学习和可能/可能是错误的.

asynchronous nsurlconnection ios

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

如何在python中获取单个pyserial字节的整数值

我在python 2.7.5中使用pyserial,根据文档:

read(size = 1)参数:size - 要读取的字节数.返回:
从端口读取的字节数.从串口读取大小字节.如果设置了超时,则可能会按要求返回较少的字符.没有超时,它将阻塞,直到读取所请求的字节数.

在版本2.5中更改:返回可用时的字节实例(Python 2.6和更新版本),否则返回str.

大多数情况下,我想将值用作十六进制值,因此当我使用它们时,我使用以下代码:

ch = ser.read()
print ch.encode('hex')
Run Code Online (Sandbox Code Playgroud)

这没问题.

但是现在我试图将一个值作为整数读取,因为它是从serial.read读入的一个字符串,我在尝试获取整数值时遇到错误.

例如:

print ch
Run Code Online (Sandbox Code Playgroud)

什么都不打印,因为它是一个不可见的字符(在这种情况下是chr(0x02)).

print int(ch)
Run Code Online (Sandbox Code Playgroud)

引发错误

ValueError: invalid literal for int() with base 10: '\x02'
Run Code Online (Sandbox Code Playgroud)

努力print int(ch,16),ch.decode(),ch.encode('dec'),ord(ch),unichr(ch)所有给出错误(或没有).

事实上,我让它工作的唯一方法是将其转换为十六进制,然后再转换为整数:

print int(ch.encode('hex'),16)
Run Code Online (Sandbox Code Playgroud)

这会返回预期的2,但我知道我这样做是错误的.如何将aa chr(0x02)值更简单地转换为2?

相信我,我已经搜索过,并且正在寻找在python 3中实现此目的的方法,以及使用导入模块的解决方法.是否有一种本地方式来做到这一点,而不需要导入一些东西来获得一个值?

编辑:我已经尝试ord(ch)但是它正在返回90,我知道值是2,1)因为这是我所期待的,2)因为当我收到错误时,它告诉我(如上所述)

这是我正在使用的代码生成 90

count = ser.read(1)
print "count:",ord(ch)
Run Code Online (Sandbox Code Playgroud)

输出是 count: 90

一旦我剪切并粘贴上面的代码,我就看到了错误count != ch!!!!

谢谢

python pyserial

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

动画在iOS6中运行,在iOS5中运行

我一直试图找到这个底部,它逃脱了我.当用户按下它时,我想要一些按钮.但我不想隐藏它们,而是想要一个动画.我让它们变大,然后缩小到针头,同时也逐渐淡出.

我实际上在iOS6中有这个工作,但我想我会在iOS5.1的模拟器和我的iPad1上运行它.这两个都使按钮动画错误.它在增长,但似乎在屏幕上爆炸成另一个维度.

#pragma mark - animations
-(void)grow:(UIButton *)button {

    void (^makeItGrow)(void)= ^{
        button.transform = CGAffineTransformScale(button.transform,1.6, 1.6);
    };

    void (^whenFinished)(BOOL) =
    ^(BOOL finished) {
        if (finished) {
            [self shrink:button];
        }
    };

    [UIView animateWithDuration:1 animations:makeItGrow completion:whenFinished];

}

-(void)shrink:(UIButton *)button {
    void (^makeItShrink)(void)= ^{

        button.transform = CGAffineTransformScale(button.transform, 0.0, 0.0);
        button.alpha = 0.0;
    };

    void (^whenFinished)(BOOL) =
    ^(BOOL finished) {
        if (finished) {
            //NSLog(@"shrink finished");
            [button setHidden:YES];
            [self resetButton:button];
        }
    };

    [UIView animateWithDuration:3 animations:makeItShrink completion:whenFinished];
}
Run Code Online (Sandbox Code Playgroud)

我放慢了动画的速度,所以我可以看得更清楚.第一部分应该如此,但第二部分(收缩)要么碎片进入屏幕(你必须看到它,看起来确实很酷),或者它只是继续在屏幕外生长!当然不是你想要的.

是的,我还在学习,我可能会对我的编码风格有所了解:-)

animation objective-c ios ios5 ios6

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

找不到模块快递,如何安装以使其全局可用?

我想尝试一些node.js的东西,我昨天按照网上的某些指示安装了它,它启动并运行了,我在屏幕上显示了标准的Hello World网页.

我现在转到另一个例子,但为了不弄乱我的主目录,我创建了一个目录(〜/ node)并在那里创建了我需要的文件.低,看,当运行服务的时候,我没有得到快乐,说明express无法找到模块.

说明告诉我使用-g旗帜安装快递,但这没有帮助.我甚至没有运气就跑了.

现在我发现了这个: 找不到模块`express` | socket.io [node.js]

看来我必须在当前目录下再次安装它.我已经做到了,它的确有效.它是否必须安装在我想要运行服务的每个目录下?这似乎是一种不必要的重复.

编辑:

不太了解js我以为我会去挖掘并找到

app.use(express['static'](__dirname ));

并意识到这可能是我的问题的原因.进一步的研究发现了这个:http://nodejs.org/api/modules.html#modules_loading_from_node_modules_folders,如果我在更高级别的目录中安装一次,那就应该"解决"我的问题.我不打算卸载模块,但对于我的下一个项目,我会尝试一下,看看它是怎么回事.

我不知道为什么原作者-g在安装快递时提出了标志,因为它似乎对我不起作用.

pi node.js express

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