dispatch_async并在原始队列上调用完成处理程序

我见过一些相关的问题,但似乎没有回答这个问题。 我想写一个方法,将在后台做一些工作。 我需要这个方法来调用原始方法调用的同一个线程/队列上的完成callback。 – (void)someMethod:(void (^)(BOOL result))completionHandler { dispatch_queue_t current_queue = // ??? // some setup code here dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ BOOL ok = // some result // do some long running processing here dispatch_async(current_queue, ^{ completionHandler(ok); }); }); 在这里需要什么魔法咒语,所以在调用sameMethod的同一队列或线程上调用完成处理程序? 我不想承担主线。 当然, dispatch_get_current_queue不会被使用。

如何得到UITableViewCell移动开始和结束的通知

我的iOS应用程序中有一个UITableView定期刷新。 用户也可以随时移动tableview行(tableview始终处于编辑模式)。 我想停止刷新计时器,当用户开始拖动一行,并在行被删除时再次启动它。 使用moveRowAtIndexPath最后一部分应该很容易,但是如何获得有关拖动启动的通知? 谢谢!

iOS:UIButton titleLabel – 它什么都做?

我想做一个types为UIButtonTypeCustom(形状)的UIButton。 我想使用button.titleLabel来分配标题,因为我需要指定字体。 下面的代码看起来应该工作,但不 – 没有标签显示,期间。 UIImage *editButtonImage = [UIImage imageNamed: @"editButton.png"]; float width = editButtonImage.size.width; float height = editButtonImage.size.height; UIButton *editButton = [UIButton buttonWithType: UIButtonTypeCustom]; editButton.frame = CGRectMake(0, 0, width, height); [editButton setBackgroundImage: editButtonImage forState: UIControlStateNormal]; editButton.adjustsImageWhenHighlighted = YES; editButton.titleLabel.text = @"Edit"; editButton.titleLabel.textColor = [UIColor whiteColor]; editButton.titleLabel.textAlignment = UITextAlignmentCenter; editButton.titleLabel.font = [UIFont fontWithName: @"Helvetica" size: […]

什么是iOS 5 SDK中的容器视图?

我很困惑,为什么,当我们需要使用容器视图? 以及如何通过代码实例化Container View?

重新连接到断开的同伴

我在我的应用程序中使用iOS 7 Multipeer框架,但遇到设备断开连接的问题。 如果我在两个设备(设备A和设备B)中打开应用,则两个设备会自动相互连接。 然而,几秒钟后,设备A从设备B断开。即,首先,连接如下: A —> B A <— B 几秒钟后: A —> B AB 设备A维护它的连接,但设备B得到一个MCSessionStateNotConnected。 这意味着A可以向B发送数据,但是B不能应答。 我试图通过检查设备是否连接,如果不是,重新启动连接使用: [browser invitePeer:peerID toSession:_session withContext:Nil timeout:10]; 但是didChangeStatecallback只是用MCSessionStateNotConnected调用。 奇怪的是,如果我发送应用程序A的背景,然后重新打开它,B重新连接到它,并保持连接。 Multipeer API(和文档)似乎有点稀疏,所以我认为它会工作。 在这种情况下,我应该如何重新连接设备?

如何删除应用程序可访问的所有钥匙串项目?

我有丢失iOS上的keychain项目(可能是由旧版本的应用程序编写),我需要删除。 有没有简单的方法来实现这一点?

从一个NSData对象在Swift中创build一个数组

我试图在swift中存储一个整数数组到磁盘。 我可以让他们进入一个NSData对象来存储,但将它们返回到一个数组是困难的。 我可以用data.bytes得到一个原始的COpaquePointer数据,但是找不到用这个指针初始化一个新的swift数组的方法。 有谁知道如何做到这一点? import Foundation var arr : UInt32[] = [32,4,123,4,5,2]; let data = NSData(bytes: arr, length: arr.count * sizeof(UInt32)) println(data) //data looks good in the inspector // now get it back into an array?

如何在video上添加叠加文本,然后重新编码?

我想从我的iOS应用程序编辑video。 我想要在源video的语言字幕文本。 然后,我想要保存与覆盖文字的video。 文字不只是显示的目的。 但是当我打开编辑的video,它显示更新的video。 这是可能的iOS应用程序? 如果是这样,怎么样?

我如何创build一个小型的Mac应用程序,通过WiFinetworking从iOS应用程序接收数据?

我需要的是在这个Mac应用程序中有一个简单的屏幕,只需打印一个string,因为iPhone正在通过WiFinetworking传输string。 这个string只是用户在iPhone上上下调整滑块的string值。 数据将被发送到Mac应用程序,然后Mac应用程序将从WiFinetworking接收到这个信号,并简单地打印值。 这是一个不变的联系。 我不想同步一次。 我试图从Mac上听iPhone设备,看看iPhone是否正在发送更多的string,因为用户从iPhone应用程序上下滑动UISlider。 我如何创build客户端? 我需要使用Bonjour吗?

CVOpenGLESTexture方法types的官方文档在哪里?

我试过谷歌和stackoverflow,但我似乎无法find官方文档的函数,开始与CVOpenGLESTexture 。 我可以看到他们是从核心video,我知道他们是在iOS 5添加,但search文档不给我任何东西。 我正在寻找关于参数的信息,他们做了什么,如何使用他们等,像在其他苹果的框架。 到目前为止,我所能做的只是点击它来查看信息,但是这感觉非常奇怪。 或者有没有办法添加这个,所以它可以显示在右侧的快速帮助xcode? 谢谢,如果这是一个愚蠢的问题,很抱歉。 PD:核心video参考指南似乎也不能解释这些。