小编sno*_*und的帖子

BitBucket如何使用contributors.txt?

我是一个新的BB用户,作为第一个'签入'的一部分,它要求我创建一个新的contributors.txt,其中包含我的名字(我来自Github,但没有这样做).

version-control bitbucket checkin

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

NSURLSession后台上传无法正常工作

我正在尝试将一系列文件从iPhone上传到服务器,目的是即使应用程序处于后台或暂停,也会上传这些文件.

我正在使用由它及其系列API 提供的后台传输NSURLSession.

奇怪的是它在两周前完全正常工作.如:

  1. 我会点击UI上的"上传"按钮
  2. 文件将开始在我的服务器上逐一显示
  3. 我点击iPhone上的"主页"按钮,让应用程序进入后台
  4. 文件将继续上传到服务器,直到它们全部完成

最近几天,我一直在网络模块之外进行一些重构.几天前我再次尝试上传时,只要按下"主页"按钮,上面的步骤(3).当我再次进入应用程序时,文件上传将停止.上传将恢复.

这就好像后台上传甚至不起作用(对于一个文件,更不用说多个文件).

我已多次运行代码,发现它的工作量约为1/50.但其他49次没有.我还检查了以前使用的代码版本(服务器+ iOS),它不再有效 - 或者说,工作很少变化(1/50)

多次完成背景传输和URL会话生命周期规则,以确保我遵守Apple建议的指导方针,我正在绞尽脑汁想知道什么破坏了,这让人难以理解这是多么不合逻辑 - 我怀疑它是代码实现以外的东西.

所以任何帮助都表示赞赏......

履行

1)在init我的网络类(单例)的方法中,我初始化NSURLSessionConfigurationNSURLSession:

    urlSessionConfigUpload = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:kBACKGROUND_SESSION_CONFIG_ID];
    urlSessionConfigUpload.sessionSendsLaunchEvents = YES;
    urlSessionConfigUpload.discretionary = YES;
    urlSessionConfigUpload.HTTPMaximumConnectionsPerHost = 8;
    urlSessionConfigUpload.networkServiceType = NSURLNetworkServiceTypeBackground;
    urlSessionConfigUpload.HTTPShouldUsePipelining = NO; 
    urlSessionConfigUpload.allowsCellularAccess = NO;

    urlSession = [NSURLSession sessionWithConfiguration:urlSessionConfigUpload delegate:self delegateQueue:nil];
Run Code Online (Sandbox Code Playgroud)

2)有一种方便的方法叫做实际上传.每个会话只有1个上传任务:

    NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:url];
    [urlRequest setHTTPMethod:@"PUT"];
    [urlRequest addValue:@"keep-alive" forHTTPHeaderField:@"Connection"];
    [urlRequest addValue:contentType forHTTPHeaderField:@"Content-Type"];

    // NB: for upload …
Run Code Online (Sandbox Code Playgroud)

objective-c background-process ios

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

使用 Print 进行简单的芹菜测试不会进入终端

编辑1:

实际上,print语句输出到 Celery 终端,而不是运行 python 程序的终端 - 正如 @PatrickAllen 所示

OP

我最近开始使用Celery,但甚至无法进行简单的测试,在等待 30 秒后将一行打印到终端。

在我的tasks.py

from celery import Celery

celery = Celery(__name__, broker='amqp://guest@localhost//', backend='amqp://guest@localhost//')

@celery.task
def test_message():
    print ("schedule task says hello")
Run Code Online (Sandbox Code Playgroud)

在我的包的主模块中,我有:

import tasks.py


if __name__ == '__main__':
    <do something>
    tasks.test_message.apply_async(countdown=30)
Run Code Online (Sandbox Code Playgroud)

我从终端运行它:

celery -A tasks worker --loglevel=info
Run Code Online (Sandbox Code Playgroud)

任务运行正确,但主程序的终端上没有任何内容。芹菜产量:

[2016-03-06 17:49:46,890: INFO/MainProcess] Received task: tasks.test_message[4282fa1a-8b2f-4fa2-82be-d8f90288b6e2] eta:[2016-03-06 06:50:16.785896+00:00]
[2016-03-06 17:50:17,890: WARNING/Worker-2] schedule task says hello
[2016-03-06 17:50:17,892: WARNING/Worker-2] The client is not currently connected.
[2016-03-06 …
Run Code Online (Sandbox Code Playgroud)

python scheduled-tasks celery

5
推荐指数
0
解决办法
2888
查看次数

NSDictionary objectForKey运行时错误的stringValue

所以我有以下代码导致XCode中的运行时错误

NSString* temp = [[param objectforkey@"firstParam"] stringValue];
int tempNum = [[param objectforkey@"secondParam"] intValue];
Run Code Online (Sandbox Code Playgroud)

param从plist加载.firstParam是字符串,secondParam是数字

第一行崩溃了程序.

现在有趣的是,如果我做了一个艰苦的种姓,它是有效的,即:

NSString* temp = (NSString*)[param objectforkey@"firstParam"];
int tempNum = [[param objectforkey@"secondParam"] intValue];
Run Code Online (Sandbox Code Playgroud)

只是想知道为什么id会有不一致的实现,因为我必须使用intValue来转换为int,但是必须进行硬转换以获得NSString?为什么不stringValue?

casting nsdictionary nsstring

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

a,b = b,a + b好蟒蛇?

a, b = b, a + b 
Run Code Online (Sandbox Code Playgroud)

我从"使用Python构建技巧"中选择了这种编码风格.来自PHP和Obj-C这种类型的多变量赋值不可用(至少不是我见过的).但对我来说似乎更合乎逻辑.毕竟,为什么我必须在替换之前将'a'分配给'保持变量'.

问题是,这种编码风格是pythonic吗?

这是一个Fibonacci程序示例:

a, b = 1, 2
output = str(a)
while b<=100:
    output = output + " " + str(b)
    a, b = b, a + b

print output
Run Code Online (Sandbox Code Playgroud)

而且,您发现的最佳方法是什么帮助您编写更多pythonic代码?

python coding-style

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

iOS presentViewController不会调用viewDidLoad

我正在实现自己的"后退"按钮.其中onClick,以下代码在ViewController被解雇的(VC)中执行:

  1. 关闭当前VC(VC#1)
  2. 弹出当前VC(VC#1)关闭我的自定义 navigationStack
  3. 从中获取最后一个VC(VC#2)navigationStack,然后使用它

presentViewController

后面的工作是视觉上有效的 - 即当前VC消失,之前VC出现.但是,viewDidLoad不调用该方法.因此,屏幕不会更新数据更新viewDidLoad.

 [self dismissCurrentViewController:self completion:^{
    [TWStatus dismiss];
    FHBaseViewController *vcToDisplay = [[FHDataManager sharedInstance] popNavigationStack];
    [vcToDisplay.homeVC presentViewController:vcToDisplay animated:NO completion: ^{ }];
}];
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 我的印象是viewDidLoadpresentViuewController使用时总会被调用?
  2. 我使用viewDidLoadVC#2中的一个名为ONLY的方法"构建"屏幕.iOS如何在不显示屏幕的情况下显示viewDidLoad

顺便说一下,我没有使用故事板.任何帮助表示赞赏!

objective-c viewdidload ios presentviewcontroller

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

vim删除突出显示(不是搜索突出显示)

这是vim编辑.bash_profile的屏幕。它似乎使用了一些奇怪的突出显示,但我没有明确打开(例如,围绕GaF)

使用nohl并没有帮助,因为我没有启动搜索。我也尝试过使用“关闭语法”功能,但这只是使所有字体/文本颜色变为白色,但是高光仍然存在。

有人知道这是什么,或如何将其关闭?

谢谢在此处输入图片说明

vim

3
推荐指数
2
解决办法
4729
查看次数

Cocoapods - 是否可以自定义第三方iOS库?

我正在编写一个使用一系列第三方iOS库的项目(例如TWStatus,BSKeyChain),其中一些我已经修改过(最多10%的自定义代码),但不适合原来的GitHub项目.

我考虑过来自图书馆作者的未来更新,今天遇到了CocoaPods,它看起来是一个很好的依赖管理器,与Bundle或Vundle(对于Vim)一样.

我很好奇我的自定义代码是否可能与使用CocoaPods的图书馆作者未来的变化共存?

ios cocoapods

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

为什么在200 HTTP响应代码上XmlHttpRequest readyState = 2

所以我使用普通的javascript(没有jquery),将文件发送到服务器.服务器脚本PHP在结尾处返回状态代码200,但是javascript正在变为readyState == 2.

PHP代码发送回状态代码200:

header('X-PHP-Response-Code: 200', true, 200);
exit;
Run Code Online (Sandbox Code Playgroud)

javascript正在做:

request.onreadystatechange = function() {
        if (request.readyState == 4) {
            var message;
            switch(request.status) {
                case '200':
                     message = "Data uploaded successfully.";
                break;

                case '406':
                    message = "Incorrect file format.  Please try again.";
                break;

                case '410':
                    message = "Unexpected error.  Please contact support.";
                break;

                default:
                break;
            }
            status_message_container.innerHTML = message;
            submit_button.disabled = false;
        }
        else {
            alert( "Unexpected error:  " + this.statusText + ".\nPlease try again");
        }
    };

    request.send(formData);
Run Code Online (Sandbox Code Playgroud)

甚至知道HTTP 200状态代码在前端正确返回(我得到'OK').JS脚本正在看readyState==2 …

javascript php ajax xmlhttprequest http-status-code-200

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

解释@property id <delegateName>的语法

在使用喜欢的东西编写代理时,我看到了很多代码引用

@property (nonatomic, weak) id<mySuperCoolDelegate> delegate;
Run Code Online (Sandbox Code Playgroud)

通常在哪里id<mySuperCoolDelegate>,是属性的数据类型.所以问题是:

  1. 我的理解是否正确,上面的语法告诉编译器数据类型的id是mySuperCoolDelegate?

  2. 是否可以使用这种代码(为id指定的数据类型)的任何其他示例?

谢谢!

syntax delegates properties objective-c

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

Pythonic方式编写级联if语句

是否有更多的Pythonic方式来编写以下函数?

def foo():
    flag = False
    if condition1:
        if condition2:
            flag = True
    return flag
Run Code Online (Sandbox Code Playgroud)

python if-statement

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