草庐IT

swift-block

全部标签

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

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

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

ios - ADALiiOS :Cannot add a new item in the keychain/O365-iOS-Connect-Swift

我目前正在开发一个连接到Office365的iOS应用程序,目标为iOS7。使用了以下pod:pod'ADALiOS','~>1.2.1'pod'Office365/Outlook','=0.9.1'pod'Office365/Discovery','=0.9.1'当我在模拟器中运行它时一切正常。当我在设备上运行它时,出现“无法在钥匙串(keychain)中添加新项目”错误。我还尝试了共享钥匙串(keychain)功能,但这并没有改变任何东西。这是错误消息,它甚至在我从Github运行O365-iOS-Connect-Swift示例时出现:2015-06-1620:44:58.758O

ios - Swift 2.0 : Variable was never mutated, 考虑改成让

将我的源代码转换为Swift2.0后,我收到了999多个警告,其中超过500个警告是“变量abc从未发生过突变,请考虑将其更改为let”。有没有办法一次解决所有这些警告?逐行修复此警告需要花费大量时间。至少Apple应该在转换为Swift2.0时自动更新。 最佳答案 这里有一个想法:将所有的var全局更改为let然后恢复错误,我的猜测是更改的内容会更少。 关于ios-Swift2.0:Variablewasnevermutated,考虑改成让,我们在StackOverflow上找到一个类

ios - swift3 从其他 swift.file 调用警报功能

我是swift3的新手。现在,我正在寻找一种从其他swift.file调用警报功能的方法像这样://MainView.swift//CallfunctionAlertFun.ShowAlert(title:"Title",message:"message...")//Anotherpageforstoringfunctions//Function.swiftpublicclassAlertFun{classfuncShowAlert(title:String,message:String){letalert=UIAlertController(title:tile,message:me

ios - navigationController popToViewController 无法在 swift 3 中工作

我想在swift3.0中使用navigationController的popToViewController。为此,我编写了以下代码,但没有按预期工作。letcontrollers=self.navigationController?.viewControllersforvcincontrollers!{ifvcisHomeViewController{self.navigationController?.popToViewController(vc,animated:true)}}我也写了下面的代码,但那也行。forvcincontrollers!{ifvc.isKind(of:Ho

ios - 更改嵌入按钮的图像颜色(Swift3)

我可以使用以下代码将UIButton的图像颜色从黑色更改为白色:extensionUIImage{funcmaskWith(color:UIColor)->UIImage{UIGraphicsBeginImageContextWithOptions(size,false,scale)letcontext=UIGraphicsGetCurrentContext()!context.translateBy(x:0,y:size.height)context.scaleBy(x:1.0,y:-1.0)context.setBlendMode(.normal)letrect=CGRect(x:

ios - 当 block 中的 weakSelf 为 nil 时,什么时候应该添加 strongSelf

通过在block中使用weakSelf,你可以避免retaincycle。但有时你应该保持weakSelf直到blockretain,因此你需要像strongSelf一样使用__weak__typeof__(self)weakSelf=self;dispatch_group_async(_operationsGroup,_operationsQueue,^{__typeof__(self)strongSelf=weakSelf;[strongSelfdoSomething];[strongSelfdoSomethingElse];});我想知道weakSelf何时为nil,然后我们应该