小编nul*_*fox的帖子

调用reloadData时,UICollectionView不会立即更新,而是在30-60秒后随机更新

正如标题所暗示的那样,我UICollectionView在调用后不会立即更新并显示单元格reloadData.相反,它似乎最终在30-60秒后更新我的集合视图.我的设置如下:

UICollectionView添加到查看故事板控制器与两个delegatedataSource设置为视图控制器和标准出口设置 numberOfSectionsInRow&cellForItemAtIndexPath都实现并引用原型细胞和imageView在它的内部

以下是转到Twitter的代码,获取时间轴,将其分配给变量,使用推文重新加载表格视图,然后通过推文查找照片并使用这些项目重新加载集合视图.

即使我注释掉显示图像的代码,它仍然不会改变任何东西.

SLRequest *timelineRequest = [SLRequest requestForServiceType:SLServiceTypeTwitter requestMethod:SLRequestMethodGET URL:timelineURL parameters:timelineParams];
[timelineRequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
    if(responseData) {
        JSONDecoder *decoder = [[JSONDecoder alloc] init];

        NSArray *timeline = [decoder objectWithData:responseData];

        [self setTwitterTableData:timeline];

        for(NSDictionary *tweet in [self twitterTableData]) {
            if(![tweet valueForKeyPath:@"entities.media"]) { continue; }

            for(NSDictionary *photo in [[tweet objectForKey:@"entities"] objectForKey:@"media"]) {
                [[self photoStreamArray] addObject:[NSDictionary dictionaryWithObjectsAndKeys:
                                                    [photo objectForKey:@"media_url"], @"url",
                                                    [NSValue valueWithCGSize:CGSizeMake([[photo valueForKeyPath:@"sizes.large.w"] floatValue], [[photo …
Run Code Online (Sandbox Code Playgroud)

objective-c ios uicollectionview

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

ObjectiveC类别未导入但仍在运行代码

我使用以下代码为UINavigationBar创建了一个类别:

// UINavigationBar+MyNavigationBar.m
@interface UINavigationBar (MyNavigationBar)

@end

@implementation UINavigationBar (MyNavigationBar)

- (void)drawRect:(CGRect)rect
{
    UIImage *img = [UIImage imageNamed: @"header.png"];
    [img drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}

@end
Run Code Online (Sandbox Code Playgroud)

我没有在任何地方#import,在我的整个项目的任何代码中,但是,此类别仍在运行并插入标题图形.这怎么可能?

objective-c ios

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

ListView删除dataSource更新上的错误行

当我使用新的部分和行更新状态时,我有一个React Native ListView似乎正在删除UI中的错误行 - 我删除的行保留,但是下面的那个,有时甚至是2,直到我重新加载应用程序.

我究竟做错了什么?

constructor(props) {
  super(props)

  this.state = {
    dataState: DataState.STATE_NOT_LOADED,
    dataSource: new ListView.DataSource({
      rowHasChanged: (r1, r2) => r1.identifier !== r2.identifier,
      sectionHeaderHasChanged: (s1, s2) => s1 !== s2
    })
  };
}

componentDidMount() {
  this.loadData();
}

loadData() {
  this.setState({
    dataState: DataState.STATE_LOADING
  });

  User.getDocs()
    .bind(this)
    .then(results => {
      var docs = _.groupBy(results, function (d) {
        return d.createdAt.format('MMMM D');
      });

      this.setState({
        dataState: DataState.STATE_LOADED,
        dataSource: this.state.dataSource.cloneWithRowsAndSections(docs)
      });
    })
    .catch(error => {
      console.log(error);

      this.setState({
        dataState: DataState.STATE_ERROR
      });
    });
}

onTrackPressed(doc) {
  User.untrackDoc(doc) …
Run Code Online (Sandbox Code Playgroud)

reactjs react-native

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