小编Lar*_*sJK的帖子

相互冲突的验收测试

我的应用程序中有一个问题,其中2个验收测试似乎发生冲突.如果我运行测试,则2个测试中的一个将失败.下次我运行它时另一个会失败等等.如果一个接一个地运行它们永远不会失败

第一个测试是测试访问URL将根据模型是否在其toMany-relationship(异步)中有任何记录而重定向到正确的路径.此测试失败并显示:错误:断言失败:无法在未定义的对象上使用'currentPath'调用get.

第二个测试是检查toMany关系是否在无序列表中呈现的测试.此测试失败,因为list-item的内容为空.

这些是我的测试:

test('visiting /categories/#', function() {
  visit('/categories/1');

  andThen(function() {
    equal(currentPath(), 'categories.category.subcategories.index');
  });
});

test('renders products', function () {
  visit('/categories/2/products');

  andThen(function () {
    var list = find('#product-list li');
    equal(list.length, 2);

    var first = find('#product-list li').eq(0);
    equal(first.text(), 'A4');

    var last = find('#product-list li').eq(1);
    equal(last.text(), 'A3');
  });
});
Run Code Online (Sandbox Code Playgroud)

完整代码

运行应用程序

运行测试

更新:

升级到最新的ember-cli 0.0.43现在第一次测试失败已经消失了(npm install --save-dev ember-cli),但是第二次测试仍然每隔一次运行测试失败.

acceptance-testing qunit ember.js ember-data ember-cli

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

嵌入使用ember-cli构建的应用程序(在哪里指定rootElement?)

我需要将一个用ember-cli制作的ember应用程序嵌入到现有的网站中.

如果没有ember-cli,我会这样做:

App = Ember.Application.create({
  rootElement: '#app-container'
});
Run Code Online (Sandbox Code Playgroud)

我基本上希望将生成的资源包含到我的页面中,而不是使用index.html文件..(应用程序需要绑定到div而不是body元素..)

ember-cli

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

暂停后应用程序变为活动状态时如何重新加载视图?

当用户在iPhone上的设置中更改NsuserDefaults并在暂停后激活我的应用程序时,我想重新加载活动视图.

我怎样才能做到这一点?

iphone nsuserdefaults multitasking ios4

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

如何在操作系统早于iOS4的设备上忽略UILocalNotification?

我在我正在制作的应用中使用本地通知.

我用这个:

Class myClass = NSClassFromString(@"UILocalNotification");
if (myClass) {
//Local Notification code
}
Run Code Online (Sandbox Code Playgroud)

在不受支持时避免使用UILocalNotifications.

但我的应用程序在启动时因此错误代码而崩溃:

警告:无法读取"/Library/MobileSubstrate/MobileSubstrate.dylib"(未找到文件)的符号.dyld:未找到符号:_OBJC_CLASS _ $ _ UILocalNotification引自:/var/mobile/Applications/FCFFFCB2-A60B-4A8D-B19B-C3F5DE93DAD2/MyApp.app/MyApp预期:/System/Library/Frameworks/UIKit.framework/UIKit

数据格式化程序暂时不可用,将在"继续"后重试.(此时调用dlopen不安全.)mi_cmd_stack_list_frames:堆栈中没有足够的帧.mi_cmd_stack_list_frames:堆栈中没有足够的帧.

我该如何防止这种情况?

iphone

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

当 traitCollection 更改时更改单元格布局

当水平尺寸等级改变时,我在调整单元格的布局时遇到问题。

我的单元格有一个 stackView,我希望轴对于 Compact size 类是 Horizo​​ntal,对于Regular 是 Vertical。

这是我尝试过的:

override func traitCollectionDidChange(previousTraitCollection: UITraitCollection?) {
    if previousTraitCollection?.horizontalSizeClass != traitCollection.horizontalSizeClass {
        self.collectionView?.reloadData()
    }
}

override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
    let cell = collectionView.dequeueReusableCellWithReuseIdentifier(reuseIdentifier, forIndexPath: indexPath) as! MyCollectionViewCell

    switch traitCollection.horizontalSizeClass {
    case .Compact:
        cell.stackView.axis = .Horizontal
    default:
        cell.stackView.axis = .Vertical
    }

    return cell
}
Run Code Online (Sandbox Code Playgroud)

但结果是并非所有单元格都会更新其布局,请参见下面的 gif。

编辑: 我已经确认通过cellForItem在单元格类本身中和中打印来正确更改轴。所以问题似乎是单元格没有重绘..

单元格布局问题

任何建议我应该如何解决这个问题?

Github 仓库

ios uicollectionview size-classes adaptive-layout

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