小编fab*_*abb的帖子

Xcode6,iOS8和(void)layoutSubviews

我有自定义的UILabel,可以在iOS6和iOS7上正常使用.但是在iOS8上,这个标签的(void)layoutSubviews方法永远不会被调用.我用initWithFrame创建了这个标签,所以应该调用这个方法 - 并在另一个iOS版本上调用它.iOS8中的autoLayout系统会发生什么?

uilabel layoutsubviews autolayout xcode6 ios8

7
推荐指数
2
解决办法
2392
查看次数

如果已显示警报,则显示UIAlertController

遗留物UIAlertView和新UIAlertController物之间的区别在于后者需要与特定的视图控制器一起呈现presentViewController:animated:completion:.这给我的用例带来了一个尴尬的问题:UIAlertController当第二个视图控制器出现时(例如,由于网络连接失败而导致的错误对话框),如果已经显示(例如评级对话框)该怎么办?我经历过,在这种情况下,第二个UIAlertController只是没有显示.

编辑:目前我尝试显示警报,我不知道目前是否有任何提示.

你如何应对这种情况?

ios8 uialertcontroller

7
推荐指数
2
解决办法
5378
查看次数

延迟OCMock验证/处理单元测试中的超时

我正在使用OCMock测试真实的Web服务调用.

现在我做的事情如下:

- (void)testWebservice
{
    id mydelegatemock = [OCMockObject mockForProtocol:@protocol(MySUTDelegate)];
    [[mydelegatemock expect] someMethod:[OCMArg any]];

    [SUT sutWithDelegate:mydelegatemock];

    // we need to wait for real result
    [[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:2.0]];

    [(OCMockObject*)mydelegatemock verify];
}
Run Code Online (Sandbox Code Playgroud)

它工作正常,但它暗示每个这样的测试将需要2秒.

有没有一种方法我可以设置例如,2秒的超时,并让一个呼叫someMethodmydelegatemock立即verify和完成测试案例?

unit-testing asynchronous timeout ocmock ios

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

拥抱!! 部分应用程序错误

Hugs似乎!!在部分应用程序中有几个非enbraced的问题.

虽然这在GHCi中工作正常:

([[0]]!!0!!)0
Run Code Online (Sandbox Code Playgroud)

拥抱报告语法错误).

这是Hugs中的一个错误吗?

为第二个列表索引运算符添加额外的括号可以工作:

(([[0]]!!)0!!)0
Run Code Online (Sandbox Code Playgroud)

要么

(([[0]]!!0)!!)0
Run Code Online (Sandbox Code Playgroud)

haskell hugs

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

Clang Pragma综合名单

我在哪里可以找到Xcode的Clang/LLVM 中所有可能#pragma的文档?

我发现这个在Clang的用户手册,这在NSHipster,甚至试图通过grepping svn的,但还是没能找到的东西像文档_Pragma("clang assume_nonnull begin").

任何提示在哪里看?

xcode llvm clang

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

Swift协变泛型

这是我想要实现的一个例子:

protocol SomeType {}

class SomeClass: SomeType {}

struct SomeGenericStruct<A> {
    typealias E = A
}

func take(someType: SomeGenericStruct<SomeType>) {}

let concreteGenericStruct1: SomeGenericStruct<SomeType> = SomeGenericStruct<SomeType>()
let concreteGenericStruct2: SomeGenericStruct<SomeClass> = SomeGenericStruct<SomeClass>()

take(concreteGenericStruct1)
take(concreteGenericStruct2) // much no work, very repair. wow.
Run Code Online (Sandbox Code Playgroud)

甚至更简单:

let concreteGenericStruct3: SomeGenericStruct<SomeType> = SomeGenericStruct<SomeClass>() as SomeGenericStruct<SomeType> // still no work
Run Code Online (Sandbox Code Playgroud)

如何管理,提供takeconcreteGenericStruct2

generics protocols ios swift

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

Chrome与大小调整大小:显示中的边框:表格

我正在使用一个小的2窗格布局display:table.对于间距(也来自背景图像),我使用padding.因为我需要孩子们width:50%从可用空间中得到一个精确的(考虑到父母的填充div),我使用box-sizing:border-box.

这在Opera中运行良好,但在Chrome中box-sizing:border-box甚至会-webkit-box-sizing:border-box被忽略.

我做了一个演示,显示了这个问题.两个红色框应为方形,蓝色框的宽度和高度应为200px:http://jsfiddle.net/fabb/JKECK/

这是html源代码:

<div id="table">
    <div id="left">
        Something on the left side
    </div>    
    <div id="right">
        Something on the right side
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

和css:

#table {
    display: table;
    /*border-collapse: collapse;*/

    width: 200px !important;
    height: 200px !important;
    box-sizing: border-box;
    -webkit-box-sizing:border-box;
    -moz-box-sizing:border-box;

    margin: 0;
    border: 1px solid blue; 
    padding: 60px 20px;
}

#table #left, #table #right {
    display: table-cell;

    width: 50%;
    box-sizing: border-box;
    -webkit-box-sizing:border-box;
    -moz-box-sizing:border-box; …
Run Code Online (Sandbox Code Playgroud)

html css google-chrome css3 border-box

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

Haskell"Dot Hack"

Sudoku解决方案Wiki页面中,一个解决方案声称使用"Dot Hack".链接的Github页面不再可用,我找不到任何关于它的信息.

这是关于什么的?它有什么作用?怎么样?

haskell

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

removeAllObjects上的KVO分别触发每个项目的NSKeyValueChangeRemoval

我在看一个NSArray propertyKVO.我已经KVC这篇文章中实现了,我也实现了大多数KVC数组访问器.为了改变它,我使用mutableArrayValueForKey.它工作正常,除了2个问题:

  1. 当我打电话时removeAllObjects,我会为每个被删除的项目进行NSKeyValueChangeRemoval更改.我希望只收到一个包含所有已删除索引的通知.NSKeyValueChangeRemoval

  2. 同样地,当我打电话时addObjectsFromArray:,我得到NSKeyValueChangeInsertion每个添加的项目.我只想收到一条NSKeyValueChangeInsertion包含所有添加索引的通知.


请注意,我确实实现了KVC方法remove<Key>ItemsAtIndexes:insert<Key>Items:atIndexes:.虽然他们没有打电话.

我使用以下变通方法:

- (void)removeAllObjectsWorkaroundFromArray:(NSMutableArray *)modelArray {
    NSRange indexRange;
    indexRange.length = modelArray.count;
    indexRange.location = 0;
    NSIndexSet *indexSet = [NSIndexSet indexSetWithIndexesInRange:indexRange];
    [modelArray removeObjectsAtIndexes:indexSet];
}

- (void)addObjectsFromArrayWorkaroundWithArray:(NSMutableArray *)modelArray arrayToAdd:(NSArray *)arrayToAdd {
    NSRange indexRange;
    indexRange.length = arrayToAdd.count;
    indexRange.location = modelArray.count;
    NSIndexSet *indexSet = [[NSIndexSet alloc] initWithIndexesInRange:indexRange];
    [modelArray …
Run Code Online (Sandbox Code Playgroud)

key-value-observing ios kvc

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

iOS 10升级开发人员核对表

当将应用升级的iOS从9到iOS SDK 10,这是迁移必要,这是建议

ios ios10

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