Swift中的关联对象,全局键实际上是否生成特定的实例?

要在Swift中拥有关联对象,只需使用内存地址作为句柄,然后使用objc调用。 通常的示例代码,你可以谷歌无处不在: var keyA:UInt8 = 0 var keyB:UInt8 = 0 extension UIViewController { var aoAA: String? { get { return objc_getAssociatedObject(self, &keyA) as? String } set { objc_setAssociatedObject(self, &keyA, newValue, objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN) } } var aoBB: String? { get { return objc_getAssociatedObject(self, &keyB) as? String } set { objc_setAssociatedObject(self, &keyB, newValue, objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN) } } } 这工作正常, […]

根据内容更新UITableViewCell的编辑风格

我正在创build一个类似于iPad联系人的基于表格的界面,用户可以通过点击底部的空白行来添加到行列表。 该表始终处于编辑模式,非空行应在左侧具有标准的删除编辑图标。 只要用户开始在最后一个空白行中input,就应该在左侧添加一个删除图标(并添加一个新的空白行)。 有谁知道如何使UITableView按需更新编辑风格? 一切正常,除了删除图标不会出现,直到用户滚动视图,然后回到视图。 这是我的editingStyleForRowAtIndexPath实现: – (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath { if (/* text field contains data */) { return UITableViewCellEditingStyleDelete; } else { return UITableViewCellEditingStyleNone; } }

交叉编译libgcrypt静态库以供在iOS上使用

我从https://www.gnupg.org/download/index.html下载了最新的libgcrypt&libgpg-error库。 我使用./configure –enable-static –disable-shared成功构build了(命令行)这两个库。 制造 在我的Mac上安装(Mavericks w / OSX 10.10和最新的Xcode 6.1)。 我可以链接到这些新的库从我正在build立的OS X客户端应用程序。 到现在为止还挺好。 刚刚好。 但是,我也需要使用相同的源代码来构build一个iOS客户端。 问题: 1)我需要为(模拟器,Mac和iOS)构build通用静态库,需要对库的命令行构build序列进行哪些修改? 2)或者我需要为iOS构build单独的静态库? 如果是这样的话,那么我需要什么命令行的魔法来实现目标架构呢?

是否有必要在GCD下创build一个autorelease池?

我有一个CAEAGLLayer的运行循环方法,它使用GCD序列化访问共享ivars。 我的绘图代码目前是这样构造的: – (void)draw { dispatch_sync(serialDrawingQueue, ^{ @autoreleasepool { [self drawingStart]; [spriteA draw]; [spriteB draw]; [self drawingEnd]; } }); } draw方法由CADisplayLink调用。 我使用GCD块时需要@autoreleasepool吗?

glReadPixels不读取iOS上的深度缓冲区值

我似乎无法读取iOS 4.3上的OpenGL ES2深度缓冲区值 afDepthPixels = (float*)malloc(sizeof(float) * iScreenWidth * iScreenHeight); glReadPixels(0, 0, iScreenWidth, iScreenHeight, GL_DEPTH_COMPONENT, GL_FLOAT, afDepthPixels); 我的深度缓冲区是目前绑定到位和可操作的,但是该函数只读取0值,它似乎几乎立即返回。 如果我给它一个GL_RGBA,这将需要一段时间,并且确实会返回结果。 这个function在iOS的ES2上不被支持? 谢谢!

在运行时查询启动映像

我想通过从启animation面(UILaunchImageFile)淡入到主屏幕来开启我的应用程序。 简单的事情,我想,只是显示一个UIImageView与闪屏作为第一个视图,然后做一个过渡animation。 问题是,因为这是一个支持所有四个方向的iPad应用程序,并且所有这些方向都有闪屏,所以我需要查询使用哪个闪屏。 我可以查询当前的设备旋转,并相应地select图像,但我不知道是否有更好的方法。 那么,我可以以某种方式查询应用程序启动过程中使用的启动图像,还是需要询问设备当前的用户界面方向,然后select相应的文件?

NSData在Swift问题中的string

我有问题转换我的NSData到NSString在迅速。 我正在使用我认为是正确的命令和格式: NSString(data: <DATA>, encoding: <ENCODING>)但是无论我做什么,我总是以零值结束。 我正在运行最新的Xcodetesting版,所以我不确定这是否是相关的,但我希望它是一个简单的错误,我已经遇到。 我附上了操场代码以及屏幕截图。 Xcode 6.3 Beta 2 Build(6D532l)的游戏场代码 import Foundation //: # NSData to String Conversion Playground //: ### Step 1 //: The first step is to take an array of bytes and conver them into a NSData object. The bytes are as follows: var testBytes : [UInt8] = [0x14, […]

iOS:如何链接正在开发的App Store链接

我想知道如何将Apple App Store链接链接到当前正在开发的应用程序中。 例如… 我正在开发一款尚未被苹果认可的iPhone游戏(因此显然没有任何App Store链接)。 但在我的一个方法中,我需要使用我的iTunes应用程序链接(评价我的应用程序)。 其他人如何设法将他们的应用程序链接放在他们的游戏上? 苹果批准后,他们是否立即更新游戏?

如何检查触摸点是否在UIBezierPath(iOS)上

我怎么知道一个触摸点(touchesBegan)是否在隐藏的UIBezierPath上?

使用不同的sqlite数据库结构更新新版本到应用程序商店

我上传了一个应用程序商店(版本1.0)的应用程序。 我的应用程序正在使用一个SQLite数据库来存储一些数据。 现在,我已经在数据库中做了一些改变(我在db中的一个表中添加了2或3个新列)。 我想用新版本1.1(它有不同的数据库结构)更新我的应用程序的以前版本。 现在,当已经使用版本1.0的用户将应用程序升级到版本1.1时,数据库已经存在于应用程序沙箱中,因此应用程序指向版本1.1,但是我的数据库仍然是旧数据库。 我想拥有旧数据的新数据库,如果有的话。 请帮我一下 谢谢。