草庐IT

data_block

全部标签

ios - __block NSObject * obj和 block 运行时的困惑

我使用clang-rewrite-objcBlock.m生成Block.m的C++代码。Block.m中的代码在ARC下:voidfunc(){__blockNSObject*obj=[[NSObjectalloc]init];void(^blk)(void)=^(){obj=nil;};}我相信当块被复制并移到堆时,堆中的块将保留obj。但是在深入研究块运行时的源代码之后,我得到了相反的结果。生成的c++代码:staticvoid__Block_byref_id_object_copy_131(void*dst,void*src){_Block_object_assign((char

ios - 如何将 Core Data name.xcdatamodel 从一个文件夹移动到另一个文件夹?

应该很简单,我已经创建了单View应用程序并检查了代码数据。它为我创建了name.xcdatamodel文件。应用程序开发取得了进一步进展,我想将所有与模型相关的文件移动到模型文件夹中。我创建了模型文件夹,将name.xcdatamodel移动到其中,并将其添加到项目中。应该很简单,期望编译器/链接器警告我:oldLocation/name.xcdatamodeld/name.xcdatamodel/contents:warning:Missingfile:oldLocation/name.xcdatamodeld/name.xcdatamodel/contentsismissingf

ios - 迁移大型 Core Data 数据库崩溃

我有一个将产品存储在核心数据文件中的应用程序。这些产品包括作为“可转换”数据的图像。现在我尝试使用轻量级迁移添加一些属性。当我用一个小型数据库测试它时,它运行良好,但当我使用一个非常大的近500MB的数据库时,应用程序通常会因为内存不足而崩溃。有人知道如何解决这个问题吗?提前致谢! 最佳答案 您必须使用其他迁移选项之一。自动轻量级迁移过程,使用起来确实方便。但它有一个缺点,它会将整个数据存储一次加载到内存中。两份,真的,一份用于迁移前,一份用于迁移后。首先,是否可以重新创建或重新下载这些数据?如果是这样,您可以使用从旧版本到新版本的

ios - 我可以在一个应用程序中创建一个 Core Data 对象图,然后以预设状态在另一个应用程序中使用它吗?

我的应用程序现在有一个包含大约5,000个词典的.plist,在运行时,我用它来创建自定义类的5,000个对象。每个都包含一些字符串、一些bool值等。这是一个相当快的过程,最多只需要几秒钟,但使用包含数千个对象的.plist有点笨拙。我将迁移到CoreData(我以前从未使用过),因此第一步是将数据从.plist获取到那些自定义对象中,然后将它们保存在上下文中。我已经观看了视频等内容,并且认为我可以这样做。我的第一个问题是:我能否在一个小型的独立应用程序(例如,称为ObjectMaker)中创建对象图和数据模型,然后将其保存在那里,然后导入.sqlite或我导出数据的任何格式至于我正

ios - 使用 block 或 NSOperation 加载图像?

我想知道使用NSOperation或Block将大量图像加载到UIScrollView哪个更好?我创建了所有Imageview并将每个UIImageView定位到滚动条的正确位置。为了避免内存警告,我选择一次加载图像。我的想法是创建一种队列并将所有要加载的图像插入队列中。我必须使用block或NSOperation来执行此操作吗? 最佳答案 在tableView:cellForRowAtIndexPath:中,您可以使用GCD(GrandCentralDispatch)异步加载图像。像这样:staticNSString*CellId

iphone - UIViewController 中的哪个方法应该完成 "populating data"的工作以供查看?

我对iOS开发世界还很陌生。只是想知道我应该总是在viewDidLoad方法中这样做吗?始终在viewDidUnload中释放它也是一个好主意吗?谢谢。 最佳答案 通常在awakeFromNib、viewDidLoad或viewWillAppear中。初学者通常首先将所有内容都放在viewDidLoad中,这对于简单View来说很好,但有理由使用其他方法。awakeFromNib在打开Nib时调用。您可以在此处添加任何其他View或设置IB中不可用的属性。如果您不使用IB,则不会调用它。viewDidLoad在加载“View”时调用

objective-c - 使用 Core Data 时提高 UI 性能

我一直在我的项目中使用CoreData,我一直依赖它的数据错误系统来返回缓存数据,但是我遇到了一些性能问题,尤其是在配置其View的UITableView中显示数据时基于这个获取的数据。它基本上是通过它们的唯一ID获取一些NSManagedObject实例,并将存储在NSNumber中的值相加。它在for循环中对大约40个不同的对象执行此操作,并且每次重新加载UITableView时都会执行此操作。是否有任何建议的方法来监听Co​​reDataNSManagedObjects中的更改或在我的级别缓存数据的方法,或者我应该依赖数据错误,而这只是我做错了什么?如果您能指出一个好的模式来处理

ios - 对 Apple 的 Block Docs 的澄清?

我正在处理block/ARC的一些保留周期问题,我正在努力了解其中的细微差别。任何指导表示赞赏。Apple关于“block和变量”的文档(http://developer.apple.com/library/ios/#documentation/cocoa/Conceptual/Blocks/Articles/bxVariables.html)说明如下:Ifyouuseablockwithintheimplementationofamethod,therulesformemorymanagementofobjectinstancevariablesaremoresubtle:Ifyou

ios - 等待异步执行的 block 的iOS(或RubyMotion)惯用法是什么?

我已经花了数周的时间解决这个棘手的问题,而我却找不到有关如何或做什么的任何信息或提示,所以我希望RubyMotion论坛上的有人可以帮助我。如果这有点长,请提前道歉,但需要进行一些设置才能正确解释问题。作为背景,我有一个使用在Rails应用程序中实现的JSON/REST后端的应用程序。这是非常简单的东西。后端可以正常工作,并且前端可以正常工作。我可以调用以在RubyMotion客户端中填充模型对象,一切都很好。一个问题是,所有http/json库在处理请求时都使用异步调用。很好,我知道他们为什么这么做,但是在某些情况下,我需要等待通话,因为在返回下一步之前,我需要对返回的结果进行某些处

iOS block - 避免循环保留

如果我在block内使用dispatch_queue会怎样?避免保留循环又避免过早释放弱指针的正确方法是什么?__weakMyClass*weakSelf=self;[apiClientfetchData:^(...){typeof(self)selfref=weakSelf;dispatch_async(dispatch_get_main_queue(),^{//usingselfrefhere}});这是正确的做法还是我遗漏了什么?我怎样才能确保一切都得到正确处理并且不会发生保留循环?我不能在这里做一些dealloc测试...我的问题不同于thishere,因为我的第一个block