小编Mat*_*off的帖子

NSFetchedResultsController自定义排序未被调用

我目前正在尝试使用NSFetchedResultsController从Core Data填充我的项目中的UITableView.我正在使用带比较器的自定义搜索(虽然我也尝试了一个选择器并遇到了同样的问题):

    if (fetchedResultsController != nil) {
        return fetchedResultsController;
    }

    /*
     Set up the fetched results controller.
    */
    // Create the fetch request for the entity.
    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
    // Edit the entity name as appropriate.
    NSEntityDescription *entity = [NSEntityDescription entityForName:@"Object" inManagedObjectContext:self.managedObjectContext];
    [fetchRequest setEntity:entity];

    // Set the batch size to a suitable number.
    [fetchRequest setFetchBatchSize:20];
    NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"objectName" ascending:YES comparator:^(id s1, id s2) {
            NSLog(@"Comparator");
      //custom compare here with print statement
    }];
    NSLog(@"Sort Descriptor …
Run Code Online (Sandbox Code Playgroud)

iphone cocoa-touch core-data objective-c nsfetchedresultscontroller

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

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

如何在iOS中收到横幅通知的通知?

我正在编写一个iOS应用程序,当操作系统决定显示像这样的横幅通知时,我想暂停我的应用程序的动作内容:

横幅通知

是否有一个NSNotification我可以观察的系统或一个被调用的方法,我可以对此作出反应?我试过了applicationWillResignActive,但在这种情况下没有调用.

iphone notifications objective-c uikit ios

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

是否有某种UIAccessibility Alert Tone?

有没有办法让iOS播放UIActionSheet呈现时播放的音调?突然发出哔哔声,然后是"警报".

我搜索了文档,但却找不到合适的东西.

accessibility uikit uiactionsheet ios uiaccessibility

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

AVPlayer/AVPlayerItem如何通知我的应用程序无法访问网络故障?

我正在使用AVPlayeriOS应用程序中的自定义视频播放器.要从网络播放视频我分配了一个播放器:

[[AVPlayer alloc] initWithURL:_URL];
Run Code Online (Sandbox Code Playgroud)

创建资产:

AVURLAsset *asset = [AVURLAsset URLAssetWithURL:self.URL
options:@{AVURLAssetPreferPreciseDurationAndTimingKey : @(YES)}];
Run Code Online (Sandbox Code Playgroud)

playable异步加载密钥:

NSArray *keys = @[@"playable"];
[asset loadValuesAsynchronouslyForKeys:keys completionHandler:^{
    dispatch_async(dispatch_get_main_queue(), ^{
        for (NSString *key in keys) {
            NSError *error;
            AVKeyValueStatus status = [asset statusOfValueForKey:key error:&error];

            if (status == AVKeyValueStatusFailed) {
                NSLog(@"Failed to load asset key %@ error %@", key, [error localizedDescription]);
                [self fail];
                return;
            }
        }

        if (asset.isPlayable) {
            [self.player replaceCurrentItemWithPlayerItem:self.playerItem];
        }
        else {
            [self fail];
        }
    });
}];
Run Code Online (Sandbox Code Playgroud)

问题是,当设备没有互联网连接或高丢包时,completionHandler永远不会调用(即使在等待几分钟后),因此我不知道何时向用户显示加载视频失败的消息.

我的问题是:

  1. 我错过了什么/是否有更好的方法来处理这个问题?
  2. 我应该推出自己的超时逻辑或者我应该只是从来没有 …

objective-c avfoundation ios avplayer avasset

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