小编Jas*_*ues的帖子

Xcode5代码覆盖率(来自CI构建的cmd-line)

如何使用Xcode 5和iOS7生成代码覆盖?

在升级之前,我得到的代码覆盖率很好.现在我看不到正在生成任何*.gcda文件.

我正在使用的cmd-line是:

xcodebuild -workspace ${module.name}.xcworkspace test -scheme ${module.name} -destination OS=${module.sdk.version},name=iPad -configuration Debug
Run Code Online (Sandbox Code Playgroud)

适用于AppCode

  • 当我通过AppCode执行测试时,我可以看到在〜/ Library/Caches/appCode20/DerivedData中生成*.gcda文件...我需要这个来为我的持续集成构建工作.

适用于Xcode IDE

  • 也适用于Xcode IDE...是否有一个cmd-line会产生覆盖,或者这是一个Xcode错误?

code-coverage objective-c lcov xcode5

14
推荐指数
2
解决办法
8331
查看次数

NSCharacterSet - 附加另一个字符集

我想创建一个包含所有字符的字符集,以及来自另一个字符集的字符集.换言之,附加.

我认为有一种显而易见的方法,但是在IDE中控制空间完成之后,然后在文档中查找,我无法做任何事情.

我可以看到如何追加字符串中的所有字符.但是我需要追加另一组中的角色.如果有一个to-string方法,我想我可以将第二组串起来.

我该怎么做呢?

cocoa objective-c core-foundation

14
推荐指数
2
解决办法
5018
查看次数

为什么我可以将int和BOOL转换为void*,但不能浮动?

void*是C和衍生语言的一个有用的特性.例如,可以使用void*在C++类中存储objective-C对象指针.

我最近正在研究类型转换框架,由于时间限制有点懒 - 所以我用void*...这就是这个问题出现的原因:

为什么我可以将int转换为void*,但不能浮动到void*?

c c++ objective-c

13
推荐指数
2
解决办法
4068
查看次数

ReactiveCocoa:仅订阅新值

我在viewDidLoad中创建了一个事件订阅者,如下所示:

[RACObserve(_authenticationView.passwordInput.textField, text) subscribeNext:^(NSString* text)
{
     //handle this
}];
Run Code Online (Sandbox Code Playgroud)

只要textField.text属性发生更改(预期),它就会触发,但是它在创建时也会触发一次,或者触发初始值,这不是我想要的.

当然我可以过滤掉它,但我只想过滤掉第一个事件.我该怎么做呢?

要求:

  • 如果密码具有新的空值,则显示验证消息(无法将密码设置为空).
  • 如果密码具有新的非空值,请与远程客户端通信.

..那么最干净的方法是什么?

cocoa objective-c ios reactive-cocoa

12
推荐指数
2
解决办法
3369
查看次数

Swift isa指针重映射或其他支持的方法调配

Swift类是否具有可以重新映射的isa指针?

我们已经看到Swift 使用比Objective-C 更静态的方法调度,它(除非来自Foundation/NSObject的类设备)在运行时基于重映射方法实现防止了调配风格.

我想知道我们将如何实现基于方法拦截的动态功能,如观察者模式,通知等?目前所有这些东西都是由Objective-C层提供的,可以很容易地集成到Swift中.但是,如果我们想在我们自己的框架(或应用程序)中提供这些类型的功能,是否有必要在Objective-C中实现它们?我认为有一种方法可以"原生"地完成它.

另一种对Objective-C来说很常见的混合是重新映射isa-pointer来动态生成一个子类.Swift是否支持这种调配?如果没有什么拦截任意的方法调用的支持呢?

编辑: 正如@jatoben指出的那样,从arm64开始重新映射必须通过调用object_setClass()而不是直接访问该值来完成.这仍然被称为'isa指针调配'

objective-c objective-c-runtime swift

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

Spring Boot:更改属性占位符指示符

在Spring Boot中更改属性占位符的前缀和后缀的最简单方法是什么?

默认情况下@Value("${some.property}"),这在Kotlin中看起来很难看,因为它需要被转义 - $ {something}是Kotlin中用于String模板的语言功能.

java spring kotlin spring-boot

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

'objectWith'方法中'instancetype'关键字的用途?

最近的Objective-C编译器引入了'instancetype'关键字,其中包括可用于提供类型集合的关键字...

我看到了instancetype的另一个目的,它在类的'objectWith'类型方法中使用它.例如:

@interface Car

    +(instancetype)carWithWheels:(NSArray*)wheels;

@end
Run Code Online (Sandbox Code Playgroud)

理由是编译器将对initWith方法进行类型检查,但不对'objectWith'方法进行类型检查.

除了可能更容易键入外,使用'instancetype'代替实际的类名有什么好处?例如:

@interface Car

    +(Car*)carWithWheels:(NSArray*)wheels;

@end
Run Code Online (Sandbox Code Playgroud)

objective-c

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

UITableView仅反弹底部边缘

是否有可能UITableView在底部反弹,但不能在顶部反弹?如果是这样,请告诉我代码.

iphone objective-c uitableview uikit ios

9
推荐指数
2
解决办法
7771
查看次数

UIToolbar标准尺寸

UIToolbar的标准尺寸有以下几种:

iPhone/iPod的

  • iPhone 3.5英寸垂直
  • iPhone 3.5英寸水平
  • iPhone 4英寸垂直
  • iPhone 4英寸水平

iPad的

  • iPad垂直
  • iPad水平

objective-c uiresponder ios

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

将ExpectedException与Kotlin一起使用

我已经向Kotlin声明了一个预期的例外:

@Rule
public var exception = ExpectedException.none()
Run Code Online (Sandbox Code Playgroud)

现在我的集成测试用例:

@Test
@Transactional
fun authorize_withInvalidToken()
{
    val response = controller.authorize(networkType = "facebook", oauthToken = "", oauthTokenSecret = null)
    exception.expect(UnauthorizedException::class.java)

}
Run Code Online (Sandbox Code Playgroud)

我收到错误:

org.junit.internal.runners.rules.ValidationError: The @Rule 'exception' must be public.
Run Code Online (Sandbox Code Playgroud)

有没有办法来解决这个问题?现在我只使用手动try/catch/assert

java junit kotlin

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