小编pom*_*nto的帖子

在OS X 10.11上启动Swift Cocoa应用程序

我需要编写一个函数,将我的应用程序添加到OS X 10.11上的Startup项目中.这就是我现在所发现的:

func applicationIsInStartUpItems() -> Bool {
    return (itemReferencesInLoginItems().existingReference != nil)
}

func itemReferencesInLoginItems() -> (existingReference: LSSharedFileListItemRef?, lastReference: LSSharedFileListItemRef?) {

    if let appUrl : NSURL = NSURL.fileURLWithPath(NSBundle.mainBundle().bundlePath) {
        let loginItemsRef = LSSharedFileListCreate(nil, kLSSharedFileListSessionLoginItems.takeRetainedValue(), nil).takeRetainedValue() as LSSharedFileListRef?
        if loginItemsRef != nil {
            let loginItems: NSArray = LSSharedFileListCopySnapshot(loginItemsRef, nil).takeRetainedValue() as NSArray
            if(loginItems.count > 0) {
                let lastItemRef: LSSharedFileListItemRef = loginItems.lastObject as! LSSharedFileListItemRef
                for var i = 0; i < loginItems.count; ++i {
                    let currentItemRef: LSSharedFileListItemRef = loginItems.objectAtIndex(i) as! LSSharedFileListItemRef
                    if let …
Run Code Online (Sandbox Code Playgroud)

macos cocoa startup swift

17
推荐指数
2
解决办法
6617
查看次数

不可调整大小的窗口swift

我有一个NSViewController名字Hardness,我不需要让用户调整它.当然,我可以在每次用户尝试时重新调整它,但有没有办法让用户打开一个窗口全屏,或者拉伸窗口?

macos nswindow nsviewcontroller window-resize swift

8
推荐指数
3
解决办法
5784
查看次数

命令swift后获取终端输出

我使用以下代码在终端中运行一些命令:

system("the command here")
Run Code Online (Sandbox Code Playgroud)

在我想知道运行此命令的结果后,例如,如果我运行

system("git status")
Run Code Online (Sandbox Code Playgroud)

我想阅读有关我的回购变更的实际信息.有没有办法在swift中做到这一点?

terminal console-output swift

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

根据变量swift调整窗口大小

我有一个NSViewController和一个变量num.我想根据该变量动态地改变窗口的大小.有没有办法在swift中做到这一点?

macos cocoa resize window swift

6
推荐指数
2
解决办法
7700
查看次数

将 python 反汇编从 dis.dis 转换回 codeobject

有什么方法可以从使用 获得的反汇编中创建代码对象吗dis.dis

例如,我使用编译了一些代码co = compile('print("lol")', '<string>', 'exec'),然后使用打印反汇编dis.dis(co),现在我想将反汇编“编译”回代码对象(因为它保存所有相同的数据并且没有丢失任何内容)。

python bytecode reverse-engineering

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

在Python中循环压缩多个列表

说我有以下三个列表:

aList = [1,2,3,4,5,6]
bList = ['a','b','c','d']
cList = [1,2]
Run Code Online (Sandbox Code Playgroud)

我想使用来遍历它们zip

通过如下方式使用循环zip

from itertools import cycle
for a,b,c in zip(aList, cycle(bList), cycle(cList)):
    print a,b,c
Run Code Online (Sandbox Code Playgroud)

我得到的结果是:

1 a 1
2 b 2
3 c 1
4 d 2
5 a 1
6 b 2
Run Code Online (Sandbox Code Playgroud)

虽然我希望我的结果像:

1 a 1
2 b 1
3 c 1
4 d 1
5 a 2
6 b 2
Run Code Online (Sandbox Code Playgroud)

python zip cycle python-itertools

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

Celery 无法在 docker 中启动

我正在使用以下 Dockerfile 启动 celery:

FROM python:3.7-alpine

RUN apk add --no-cache postgresql-libs && \
    apk add --no-cache gcc musl-dev postgresql-dev zlib-dev jpeg-dev && \
    apk add --no-cache graphviz-dev # some required by my project libs

ADD ./project/requirements.txt /
RUN pip3 install -r /requirements.txt
ADD ./project /app

RUN adduser -S celery
USER celery

WORKDIR /app
CMD ["/usr/local/bin/celery", "-A", "project", "worker", "--concurrency", "20", "-E", "-l", "info", "--statedb=/celery/celery.state"]
Run Code Online (Sandbox Code Playgroud)

当我运行它时,它无法以错误开头:KeyError: 'db'. 完整的追溯(我已经开始使用芹菜-l debug):

project_celery | [2019-04-04 16:27:51,178: DEBUG/MainProcess] | Worker: Preparing …
Run Code Online (Sandbox Code Playgroud)

python dbm celery docker

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

在swift中在NSView上画一条线

这是我目前的代码:

class LineDrawer : NSView {
required init?(coder  aDecoder : NSCoder) {
    super.init(coder: aDecoder)
}

var line : Array<Line> = []
var lastPt : CGPoint!

override func mouseDown(theEvent: NSEvent) {
    super.mouseDown(theEvent)
    let location = theEvent.locationInWindow
    println(location)

}
override func mouseDragged(theEvent: NSEvent) {
    super.mouseDragged(theEvent)
    var newPt = theEvent.locationInWindow
    line.append(Line(start: newPt, end: lastPt))
    lastPt = newPt
}
override func drawRect(dirtyRect: NSRect) {

}
}

class Line {
var start : CGPoint
var end : CGPoint
init(start _start : CGPoint, end _end : …
Run Code Online (Sandbox Code Playgroud)

drawing class nsview swift

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

快速将 NSData 解压回 NSColor

我已经归档了一个 NSColor 以将它存储在 NSUserDefaults 中:

var data = NSArchiver.archivedDataWithRootObject(NSColor.redColor())
storage.setObject(data, forKey: "color")
storage.synchronize()
Run Code Online (Sandbox Code Playgroud)

但是现在我需要从 NSData 取回颜色,我不知道该怎么做

macos nsuserdefaults nsdata nscolor swift

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

Swift Alamofire POST请求变为GET

这是我用来向localhost中的Flask服务器发出POST请求的代码:

func data_request() {
    let url:NSURL = NSURL(string: "http://192.168.1.192:9880/api/register")!

    Alamofire.request(.POST, url, parameters: ["login":"login", "password" : "12345"]).responseJSON { response in
        switch response.result {
        case .Success:
            NSLog("Validation Successful")
        case .Failure(let error):
            NSLog("\(error), \(String(data: response.data!, encoding: NSUTF8StringEncoding))")
            return
        }
        if (response.result.value as? [String: AnyObject]) != nil{
            print(response.result.value)
        } 
    }
}
Run Code Online (Sandbox Code Playgroud)

但它发送GET请求!服务器和本地代理都告诉它是GET请求 - 这是Burp拦截的:

GET /api/register/ HTTP/1.1
Host: 192.168.1.192:9880
Accept: */*
User-Agent: Project Manager/Roman-Nikitin.Project-Manager (1; OS X 10.11.3)
Accept-Language: en;q=1.0, fr;q=0.9, de;q=0.8, zh-Hans;q=0.7, zh-Hant;q=0.6, ja;q=0.5
Accept-Encoding: gzip;q=1.0, compress;q=0.5
Connection: close
Run Code Online (Sandbox Code Playgroud)

post get http swift alamofire

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