小编Jas*_*ues的帖子

在GitHub repo上显示Jenkins的当前状态

有没有办法在我的项目的GitHub Readme.md上显示Jenkins构建状态?

我使用Jenkins运行持续集成构建.在每次提交之后,它确保在最终生成文档和发行包之前编译所有内容,以及执行单元和集成测试.

仍然存在无意中犯下破坏构建的东西的风险.访问GitHub项目页面的用户知道当前主服务器处于该状态会很好.

github jenkins

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

Swift本机基类或NSObject

我测试了一些ISA混写有斯威夫特,以及时发现NSObject的是一个超类(直接或进一步上涨),或使用"@objc"的装饰,它才会起作用.否则它将遵循静态和vtable-dispatch样式,如C++.

没有Cocoa/NSObject基类定义Swift类是正常的吗?如果它是我关心的话,这意味着对Objective-C的大部分动力进行了描述,例如方法拦截和运行时内省.

动态运行时行为是属性观察者,核心数据,面向方面编程,高阶消息传递,分析和日志记录框架等功能的核心.

使用Objective-C的方法调用样式会在方法调用中添加大约20个机器代码操作数,因此在某些情况下(对具有小体的方法的许多严格调用)C++样式静态和vtable调度可以更好地执行.

但是考虑到一般的95-5规则(95%的性能增益来自调整5%的代码),从强大的动态功能开始并在必要时变硬是不是有意义的?

objective-c objective-c-runtime swift

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

Swift readonly外部,readwrite内部属性

在Swift中,定义公共模式的常规方法是什么,其中属性是外部只读的,但是在拥有它的类(和子类)内部可以修改.

在Objective-C中,有以下选项:

  • 在接口中将该属性声明为readonly,并使用类扩展在内部访问该属性.这是基于消息的访问,因此它可以很好地与KVO,原子性等一起使用.
  • 在接口中将属性声明为只读,但在内部访问支持ivar.由于ivar的默认访问受到保护,因此在类层次结构中可以很好地工作,其中子类也可以修改该值,但该字段是readonly.

在Java中,惯例是:

  • 声明受保护的字段,并实现公共的只读getter(方法).

Swift的成语是什么?

properties objective-c swift

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

Kotlin:公共私有集变种

在kotlin中定义具有公共getter和private(仅可内部修改)setter的var的正确方法是什么?

kotlin

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

如何在Swift中扩展协议

在Swift中,我们如何定义扩展或专门化基本协议的协议?文档似乎没有说清楚.

还不清楚,Swift协议是否符合/扩展NSObject协议?这是一个有趣的问题,因为它会暗示Swift是否使用vtable或基于消息的调度来调用协议方法.

protocols swift

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

在Kotlin字符串中转义$ {something}

定义包含用于声明模板替换的字符的Kotlin字符串的正确方法是什么,但是没有将其评估为模板?

例如:"${something}"刚刚被视为普通字符串.

我想使用Spring值注释:

@Value("${some.property}) lateinit var foobar : String?
Run Code Online (Sandbox Code Playgroud)

kotlin

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

NSProxy vs NSObject

我正在使用方法调配来在一个具有一些额外功能的类中包装所有方法调用.具体来说我是:

  • 检查此方法调用所需的对象是否在缓存中
  • 如果缓存有该对象返回它.
  • 如果没有,则调度到原始实现,填充缓存并返回该缓存.

对于每种方法,我都会重新路由到一个建议的方法.并使用+(BOOL)resolveInstanceMethod:(SEL)sel和IMP_implementationWithBlock实现新方法.

它工作正常,但代码没有很好地阅读.似乎NSProxy将提供一种更简洁的方式来实现此功能.

但还有另一种选择,就是简单地在我的目标对象的方法周围使用NSObject子类替换和拦截方法.通过重写forwardInvocation和methodSignatureForSelector,我可以获得所需的结果.

那么NSProxy给我的是什么?我为什么要用这个呢?

objective-c objective-c-runtime

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

在OSX Mavericks上运行gedit?

gnome.org网站上的Gedit版本似乎不在OSX Mavericks上运行.有没有什么办法解决这一问题?

macos gedit osx-mavericks

18
推荐指数
3
解决办法
3万
查看次数

如何使用Kotlin + Jackson将JSON反序列化为List <SomeType>

反序列化以下JSON的正确语法是什么:

[ {
  "id" : "1",
  "name" : "Blues"
}, {
  "id" : "0",
  "name" : "Rock"
} ]
Run Code Online (Sandbox Code Playgroud)

我试过了:

//Works OK
val dtos  = mapper.readValue(json, List::class.java)
Run Code Online (Sandbox Code Playgroud)

不过我想:

val dtos : List<GenreDTO>  = mapper.readValue(json, 
    List<GenreDTO>::class.java)
Run Code Online (Sandbox Code Playgroud)

上面的语法不正确,并给出: only classes are allowed on the left hand side of a class literal

json jackson kotlin

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

Xcode5:无法注册"/System/Library/CoreServices/CoreTypes.bundle/Contents/Library/MobileDevices.bundle

我的库有一些类型转换器.我正在注册一些OSX和iOS类型转换器,如下所示:

当我为iOS编译时,我遇到了一些与无法找到UIKit相关的错误.这是我为iOS编译的方式:

xcodebuild -destination OS=${module.sdk.version},name=iPhone -workspace ${workspace} -scheme '${library.ios.scheme}'
Run Code Online (Sandbox Code Playgroud)

$ {}令牌由我的构建系统修补.

建设时我得到:

__build.library.ios.simulator:
 [exec] Details:  Failed to register "/System/Library/CoreServices/CoreTypes.bundle/Contents/Library/MobileDevices.bundle" with Launch Services, error code: -10811.
 [exec] Function: __RegisterUTIsIfNeeded_block_invoke
 [exec] Thread:   <NSThread: 0x7faca140e5c0>{name = (null), num = 1}
 [exec] Please file a bug at http://bugreport.apple.com with this warning message and any useful information you can
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

cross-platform objective-c xcodebuild ios xcode5

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