小编Ant*_*yev的帖子

UITableViewCell与AutoLayout的性能不佳

我有点困惑于这个......任何帮助都非常感激.我已经花了很多时间调试这个.

我有UITableView数据源提供NSFetchedResultsController.在单独的视图控制器中,我使用新的记录向CoreData插入[NSEntityDescription insertNewObjectForEntityForName:inManagedObjectContext:],保存托管对象上下文并关闭该控制器.很标准的东西.

然后通过NSFetchedResultsController以下方式接收托管对象上下文中的更改:

- (void)controllerWillChangeContent:(NSFetchedResultsController *)controller {
        [self.tableView beginUpdates];
}

- (void)controllerDidChangeContent:(NSFetchedResultsController *)controller {
        [self.tableView endUpdates];
}

- (void)controller:(NSFetchedResultsController *)controller didChangeObject:(id)anObject atIndexPath:(NSIndexPath *)indexPath forChangeType:(NSFetchedResultsChangeType)type newIndexPath:(NSIndexPath *)newIndexPath {
    switch (type) {
        case NSFetchedResultsChangeInsert:
            [self.tableView insertRowsAtIndexPaths:@[newIndexPath] withRowAnimation:UITableViewRowAnimationNone];

            break;

        case NSFetchedResultsChangeDelete:
            [self.tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationNone];

            break;

        case NSFetchedResultsChangeUpdate:
            [self.tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationNone];

            break;

        case NSFetchedResultsChangeMove:
            [self.tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationNone];
            [self.tableView insertRowsAtIndexPaths:@[newIndexPath] withRowAnimation:UITableViewRowAnimationNone];

            break;
    }
}
Run Code Online (Sandbox Code Playgroud)

这就是出现问题的地方 - 这需要太长时间(在iPhone 4上大约3-4秒).似乎花费时间计算细胞的布局.

我从单元格中删除了所有内容(包括自定义子类)并将其保留UILabel,但没有任何改变.然后我将单元格的样式更改为Basic(或除Custom之外的任何内容)并且问题消失了 - 即时添加新单元格.

我加倍检查,NSFetchedResultsControllerDelegate回调只被调用一次.如果我忽略它们并做 …

iphone performance uitableview ios autolayout

19
推荐指数
2
解决办法
8905
查看次数

Yammer JS SDK - CORS的问题

Yammer方面似乎发生了一些变化,因为我的应用程序(尚未发布到Yammer全球应用程序目录)已经停止工作,导致一个模糊的CORS错误,并没有说明问题.

所以工作流程非常简单 -

  • 我确保用户通过调用登录getLoginStatus()(弹出窗口并立即关闭它.刺激,但可以忍受)
  • 按照Yammer JS SDK手册的建议发送messages/in_group/ID.json包含在a中的请求yam.platform.request

这是控制台截图:

在此输入图像描述

在Yammer应用程序设置中,有一个Javascript Origin,它就是https://buzztale.com一个,请求来自.

这发生在之前,但后来消失了(真的很混乱).而现在似乎又回来了......

希望有人对此问题有任何建议.为了访问应用程序,这里是URL - https://buzztale.com/yammer.

javascript cors yammer

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

标签 统计

autolayout ×1

cors ×1

ios ×1

iphone ×1

javascript ×1

performance ×1

uitableview ×1

yammer ×1