小编Dir*_*nry的帖子

如何让我的git集成Kaleidoscope显示即将提交的所有文件?

我正在使用命令行git和Kaleidoscope来执行我的代码审查.当我将分支合并到另一个分支并输入时

git difftool
Run Code Online (Sandbox Code Playgroud)

Kaleidoscope仅显示"未提交以进行提交"的更改,并且不显示"未合并路径"或"已更改为已提交".

命令行显示其余内容.

知道为什么吗?

这是我的〜/ .gitconfig

[user]
        name = Dirty Henry
        email = dirty@henry.com
[core]
        excludesfile = /Users/dirty/.gitignore_global
        editor = mate
[difftool "Kaleidoscope"]
        cmd = ksdiff-wrapper git \"$LOCAL\" \"$REMOTE\"
[mergetool "sourcetree"]
        cmd = /Applications/SourceTree.app/Contents/Resources/opendiff-w.sh \"$LOCAL\" \"$REMOTE\" -ancestor \"$BASE\" -merge \"$MERGED\"
        trustExitCode = true
[diff]
        tool = Kaleidoscope
[credential]
        helper = osxkeychain
[difftool]
        prompt = false
Run Code Online (Sandbox Code Playgroud)

git diff

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

UIButton事件在1%的时间内没有得到处理:我的责任链应该归咎于谁?

我的应用程序有时会忘记响应者应该处理触摸事件的内容.

我的情况:

  • 定义3个视图的XIB文件:
    • 一个视图作为文件所有者的视图
    • 以编程方式添加到视图层次结构的2个额外视图
  • 其中一个子视图(SubviewA)有一个UIButton,配置为将myAction:选择器发送FirstResponder到检测到"Touch Up Inside"事件时
  • SubviewA知道如何处理 myAction:

99%的时间,一切都很顺利.当用户点击按钮时,SubviewA负责处理该myAction:消息,一切都很好.但是,从时间到时间,用户抱怨按钮"冻结"了,我实际上转载它自己几次没有能够找到一个明确的情况下做到这一点的需求.

我到目前为止的调查是:

  • 点击按钮时没有任何反应:
    • 我的按钮检测到水龙头,因为按下时它会突出显示
    • myAction: 未在SubviewA上调用
    • 用户界面的其余部分仍保持响应

我正在谈论的代码是我正在尝试解决的一些遗留代码.有一个视图响应其子视图的事件听起来像一个奇怪的架构给我.到目前为止,我一直使用文件所有者来处理触摸事件,所以我指出响应者链是理解错误的理想选择.但我找不到原因!根据我的理解,由于按钮不知道如何处理消息并且没有附加视图控制器,它应该将其转发到其超级视图(ButtonA,它知道如何处理它)!

我的问题是:

  • 关于bug可能来自哪里的任何想法?(响应链?)
  • 关于视图是否应该自己处理其按钮行为或视图控制器应该如何处理的任何注释?

编辑:我对如何修复错误有所了解:将按钮操作直接连接到SubviewA而不是在Interface Builder中使用FirstResponder.我发布这个问题的原因是试图理解为什么响应者链不时不工作.

model-view-controller uibutton first-responder ios

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

通过cron启动时,我的Shell脚本启动Rake无法正常运行

我编写了一个Rake脚本,该脚本应该与Crontab一起自动运行.在命令行中输入时脚本运行正常,但无法在cron内正确运行.

该脚本如下所示:

#!/bin/sh

echo `date`
cd /home/mick/myapp/current
rake RAILS_ENV=production mynamespace:myaction
Run Code Online (Sandbox Code Playgroud)

crontab设置如下所示:

10 0,6,12,18 * * * /home/mick/work/launch.sh >> /home/mick/work/launch.log
Run Code Online (Sandbox Code Playgroud)

执行后,日志文件只包含日期,但没有其他内容,我在syslog中得到的错误如下所示:

Mar 18 18:10:01 CRON[21773]: (mick) CMD (/home/mick/work/launch.sh >> /home/mick/work/launch.log)
Mar 18 18:10:01 CRON[21772]: (CRON) error (grandchild #21773 failed with exit status 127)
Mar 18 18:10:01 postfix/sendmail[21776]: fatal: open /etc/postfix/main.cf: No such file or directory
Mar 18 18:10:01 CRON[21772]: (mick) MAIL (mailed 1 byte of output; but got status 0x004b, #012)
Run Code Online (Sandbox Code Playgroud)

编辑:

感谢@Holger Just的评论,我发现这个链接帮助我得到了一个有效的脚本.

这是我的脚本的更新版本

#!/usr/bin/env bash # …
Run Code Online (Sandbox Code Playgroud)

shell ubuntu cron rake ruby-on-rails

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

在CoreData中存储枚举属性并使其方便

我的一个模型对象有一个枚举属性.为了将它存储在CoreData中,我使用了一个NSNumber对象.

不过,我想以方便的方式将其作为枚举类型访问.实现这一目标的最佳做法是什么?

到目前为止,我已经使用了以下代码.

在MyObject.h中

typedef enum _ABType {
    ABTypeUnknown,
    ABTypeValue1,
    ...
    ABTypeValueN
} ABType;

@interface MyObject : NSManagedObject

@property (nonatomic, retain) NSNumber * myPersistentEnum; // Defined in my Core Data model

@property (nonatomic) ABType myConvenientEnum;
Run Code Online (Sandbox Code Playgroud)

在MyObject.m中

@dynamic myPersistentEnum;

- (BOOL)isValidEnumValue {
    if (self.myPersistentEnum) {
        int intValue = [self.type intValue];
        if (intValue >= ABTypeValue1 && intValue <= ABTypeValueN) {
            return YES;
        }        
    }

    ELog(@"Undefined enumValue %@", self.myPersistentEnum);
    return NO;
}

- (ABType)myConvenientEnum {
    if ([self isValidEnumValue]) {
        return [self.type intValue];
    } …
Run Code Online (Sandbox Code Playgroud)

enums typedef core-data nsnumber ios

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

在iPhone 5的横向模式下启动启动画面

我们的通用应用程序仅在横向模式下.我们需要为iPhone 4和iPhone 5添加一个闪屏.

对于我们使用的纵向iPhone 5 Default-568h@2x.png.如何在Landscape for iPhone 5中设置启动画面?

iphone objective-c ios ios6

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

Android应用内部存储空间中存储的最大数据量应该是多少?

当您需要在应用程序中存储大量文件时,Android提供了两个主要选项:

  • 内部存储器
  • 外部存储

我需要存储5 MB到100MB的数据(XML,图像,HTML,声音),我正在尝试确定哪个选项应该是默认选项.

在理想的世界中,内部存储听起来像是最好的选择:

  • 它增加了一些控制权限
  • 它100%可用[编辑:我的应用程序应完全脱机功能]
  • ......但它也可能非常有限

另一方面,外部存储空间会更大,但可能无法在100%的时间内使用.

您对此问题有何看法?什么应该是最大的.应用可以存储在设备内部存储空间中的数据量,而不会破坏用户的整体Android体验?

storage android

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

在测试期间不再知道设计路线助手

我的设计路线助手方法在我的Ruby功能测试中无法识别.

例如,我的应用程序的布局包含一个调用edit_admin_registration_path(因为我的设备模型是管理员),我收到以下错误:

ActionView::Template::Error: undefined local variable or method `edit_admin_registration_path' for #<#<Class:0x007ff332374038>:0x007ff330d54988>
Run Code Online (Sandbox Code Playgroud)

在跑步时:

rake test:functionals TEST=test/functional/my_controller_test.rb 
Run Code Online (Sandbox Code Playgroud)

我认为自升级到Rails 3.2.15后我遇到了这个问题.知道为什么吗?(设计版本是3.2.2)

ruby ruby-on-rails devise ruby-on-rails-3 ruby-on-rails-3.2

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

几天后Jenkins停止提供静态文件

我运行Jenkins进行持续集成,我遇到了以下问题.几天之后,Jenkins运行得很好,静态文件的URL停止提供,并且Jenkins的CSS,JavaScript和全局外观在实际按预期运行作业时看起来很糟糕.

知道为什么吗?

URL示例:

http://myserver:8181/static/70f4ebef/css/style.css
Run Code Online (Sandbox Code Playgroud)

响应:

HTTP ERROR 404

Problem accessing /static/70f4ebef/css/style.css. Reason:

    Not Found
Powered by Jetty://
Run Code Online (Sandbox Code Playgroud)

调用http://myserver:8181/safeRestart修复了问题所以我想知道它是Jenkins问题还是Jetty/Jenkins缓存冲突.

我运行Jenkins 1.537.

caching jetty jenkins

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

为什么Travis找不到我的头文件?(当我的本地Xcode上相同的指令正常运行时)

我的Cocoapod的lib项目未能对Travis进行测试,因为测试目标似乎无法找到Pod的一个来源:

'XYZMyClass.h' file not found
Run Code Online (Sandbox Code Playgroud)

在我的开发环境中,我可以运行相同的命令Travis成功运行并且环境设置相同:

  • 图像osx_image: xcode8用于Travis,我也在本地使用Xcode 8.0
  • Travis失败但在本地成功运行的指令如下:

    set -o pipefail && xcodebuild -workspace Example/XYZMyPod.xcworkspace -scheme XYZMyPod-Example -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 6s,OS=9.3' test | xcpretty
    
    Run Code Online (Sandbox Code Playgroud)

甚至更奇怪,'XYZMyClass.h'是我的源文件导入中的第二个导入.为什么第一个工作正常?它们属于同一目标,具有相同的可见性(Public).

PS:源可以在GitHub 这里和特拉维斯构建是在这里.

谢谢!

objective-c ios travis-ci cocoapods xcode8

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

为什么 Swift 的日期时间间隔忽略闰秒?

2012 年 6 月 30 日发生了闰秒。因此它持续了 86401 秒。然而,在下面的 Swift 代码中,timeInterval却是 86400。这是怎么回事呢?

let formatter = ISO8601DateFormatter()
let date = formatter.date(from: "2012-06-30T00:00:00Z")!
let dayAfter = formatter.date(from: "2012-07-01T00:00:00Z")!
let timeInterval = date.distance(to: dayAfter)
Run Code Online (Sandbox Code Playgroud)

(ps:我在什么背景下编写了这段代码?这只是为了享受代码的乐趣。我试图编写令人困惑的代码结果,但我对这种试图变得聪明的尝试感到失望)

datetime nscalendar swift

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