小编mkc*_*842的帖子

如何从视图控制器以编程方式绘制线?

我有一个UIViewController.我想在其中一个以编程方式创建的视图中绘制一条线.看起来很简单,但我还没有找到有效的示例代码.

objective-c uikit uiview ios

80
推荐指数
5
解决办法
7万
查看次数

RTCReporting&pancake.apple.com错误

昨天我将Xcode更新为5.1版(5B130a); 模拟器的版本现在读取版本7.1(463.9.41).

今天我开始使用AVPlayer开始播放时遇到这些奇怪的错误.我以前从未见过任何此类错误,找不到任何关于它们的信息,也不知道它们的含义.它们不是致命的,我没有注意到它们的任何不良影响.但…

什么是RTCReporting以及它是如何进入我的项目的?

pancake.apple.com与任何事情有什么关系?

等等.谢谢.

2014-03-21 16:16:34.129 0.1[3330:5403] RTCReporting: resolve from http://pancake.apple.com/bags/hls?version=4.12
2014-03-21 16:17:17.201 0.1[3330:5403] RTCReporting(getSvrConfig): error resolving with lookup server http://pancake.apple.com/bags/hls?version=4.12
2014-03-21 16:17:17.201 0.1[3330:5403] RTCReporting(getSvrConfig): sendSynchronousRequest error Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo=0x10f110d60 {NSUnderlyingError=0x11230ed80 "The request timed out.", NSErrorFailingURLStringKey=http://pancake.apple.com/bags/hls?version=4.12, NSErrorFailingURLKey=http://pancake.apple.com/bags/hls?version=4.12, NSLocalizedDescription=The request timed out.}
2014-03-21 16:17:17.202 0.1[3330:5403] RTCReporting: can't get storebag from the server
Run Code Online (Sandbox Code Playgroud)

更新:我以前没有发现任何伤害,但现在我的应用程序挂起(在模拟器中)约5秒,而我只是准备好播放项目(在我按下播放之前).如果我在挂起期间按暂停,则以下是调试导航器显示的内容:

当应用程序在5秒后解冻时,只会记录以下内容:

RTCReporting: resolve from http://pancake.apple.com/bags/hls?version=4.12
Run Code Online (Sandbox Code Playgroud)

关于"答案"的说明:

我正在寻找与我提出的问题有关的非显而易见的解释.

ios avplayer

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

如何从容器视图中嵌入的视图控制器添加导航项

我有一个带有容器视图的VC(导航控制器的根VC).容器视图嵌入了另一个VC.我相信这使得后者成为前者的儿童VC.我想从子VC的代码中向导航栏添加一个按钮.我尝试过使用parentviewcontoller,但它不起作用:

UIBarButtonItem *newConvoButton = [[UIBarButtonItem alloc] initWithTitle:@"New convo" style:UIBarButtonItemStyleBordered target:self action:@selector(newConvoInit:)];
self.parentViewController.navigationItem.rightBarButtonItem = newConvoButton;
Run Code Online (Sandbox Code Playgroud)

而且我知道如果它在父VC中并且我删除了".parentViewController",代码将正常工作.

那么如何从嵌入式VC中添加导航项呢?

编辑:

这是一个截图: 1 右侧的TVC记录(null)self.parentViewController.

ios

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

AVURLAsset状态卡在AVKeyValueStatusLoading上; loadValuesAsynchronouslyForKeys:completionHandler永远不会完成

我正在使用AVPlayer来传输音频.在开始播放URL之前,我打电话

[self.currentlyLoadingAsset loadValuesAsynchronouslyForKeys:@[@"playable", @"duration"] completionHandler:^{
    [self evaluateAssetStatusForEpisode:episode asset:self.currentlyLoadingAsset];
}];
Run Code Online (Sandbox Code Playgroud)

只有当completionHandler执行时,我才会重新评估该项目,看它是否已准备就绪.

但对于一个用户来说,completionHandler突然没有开火.他不能从网络传输音频(但仍然可以播放下载的曲目).记录

AVKeyValueStatus status = [asset statusOfValueForKey:@"playable" error:&error];
Run Code Online (Sandbox Code Playgroud)

,我发现状态是连续的AVKeyValueStatusLoading.它永远不会更新,但AVKeyValueStatusLoading永远不会返回错误.

我尝试过loadValuesAsynchronouslyForKeys主线程,删除duration密钥,并创建currentlyLoadingAsset一个属性以确保它不会被释放.

ios avplayer

5
推荐指数
0
解决办法
1001
查看次数

Pod版本导致CFBundleShortVersionString错误

我正在尝试将应用程序的1.0.0版上传到iTunes Connect.CFBundleShortVersionString设置为1.0.0.

归档,验证并尝试上传到iTunes Connect后,我总是会收到如下错误:

在此输入图像描述

我注意到那些CFBundleShortVersionString值来自我的pod:

在此输入图像描述 在此输入图像描述

这是怎么回事?我怎样才能摆脱这些错误?

ios cocoapods

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

为什么 NSManagedObjectContext Queue 在主线程上执行?

当我向performBlock我的 MOC 类型发送消息时NSPrivateQueueConcurrencyType,如下所示:

[self.privateManagedObjectContext performBlockAndWait:^{
    if ([[NSThread currentThread] isMainThread]) {
        NSLog(@"executing on the main thread!!");        
    }
    …
}];
Run Code Online (Sandbox Code Playgroud)

我发现,默认情况下,这在主线程上执行。上述代码中的条件触发,并且问题导航器指示正在执行Thread 1NSManagedObject Queue.

这让我很困惑,因为 Apple 告诉我们“每个线程必须有自己完全私有的托管对象上下文”。鉴于类型的 MOCNSMainQueueConcurrencyType将使用主线程,它是否违反NSPrivateQueueConcurrencyType了使用主线程类型的 MOC 的线程限制?

我的代码在主线程上执行正常吗?我误解了线程限制吗?我知道队列不一定绑定到特定线程,但在这种情况下,私有 MOC 队列似乎至少应该避免主线程,如果没有单个转到线程。我有一些奇怪的错误,所以我需要弄清楚发生了什么。谢谢!

core-data ios

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

如何创建可重用按钮

我是Xcode和Objective c的新手.我想创建一个具有特定外观的按钮(可能是导航栏的UIBarButtonItem),我将在不同的视图中重复使用.我已经仔细搜索但无法弄清楚如何.

是否适合子类UIBarButtonItem?我试图这样做,但我很快就在脑海中.一旦我创建了.h和.m文件作为UIBarButtonItem的子类,那么我是否必须实例化一个UIBarButtonItem?那些文件不会自动为我创建一个按钮对象(从父类导入),我可以将其称为self?在它自己的子类中实例化一个按钮似乎很奇怪.

我想做的一件事是添加线,

button.titleLabel.lineBreakMode = NSLineBreakByWordWrapping;

但我不知道如何创建具有该属性的可重用按钮.

即使这是创建可重复使用的自定义按钮的完全错误的方法,我显然需要提高我对对象的理解,因此我将非常感谢对我的误解的解释!

请?

xcode subclass object button

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

添加约束时,表视图消失

我有一个容器视图:

1

我有一个表格视图,我以编程方式添加到容器中:

self.searchResultsSourcesTVC = [storyboard instantiateViewControllerWithIdentifier:@"searchResultsSourcesTVC"];    
[self.searchResultsContainer addSubview:self.searchResultsSourcesTVC.view];
Run Code Online (Sandbox Code Playgroud)

这样的结果是表视图不会自动调整大小以适应容器; 它似乎在屏幕的南边延伸了很多,只要滚动条可以完全消失在屏幕的南边.但它确实显示了表格和搜索结果.

所以我试图添加一个约束(我使用自动布局)使表视图的垂直边界与容器视图的垂直边界匹配:

UITableView *tableView = self.searchResultsSourcesTVC.tableView;
NSDictionary *views = NSDictionaryOfVariableBindings(tableView);

tableView.translatesAutoresizingMaskIntoConstraints = NO; // without this line there are conflicts

[self.searchResultsContainer addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[tableView]|" options:0 metrics:Nil views:views]];
[self.view layoutIfNeeded]; // not sure whether this line is necessary
Run Code Online (Sandbox Code Playgroud)

现在根本没有桌子.只是一个空白的视图.

我究竟做错了什么?以编程方式将表视图添加到容器视图并使表视图的边界与容器视图的边界共同延伸的最佳方法是什么?谢谢

objective-c ios autolayout nslayoutconstraint

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