草庐IT

weak_ptr_cast

全部标签

ios - 如果 "self"是 ViewController,你应该几乎总是使用 [weak self] 吗?

我一直在每个回调中使用[weakself],以防Controller展开并且“self”变为nil。这是正确的方法吗?当我应该使用[unownedself]或两者都不使用时,有哪些示例...假设“self”是一个会经常展开的ViewController? 最佳答案 如果当self被取消初始化时回调仍然会被调用,那么使用[weakself]是正确的。使用[unownedself]的原因是您知道在self消失后永远不会调用回调,但强烈捕获self会导致保留周期。[unownedself]的一个例子是闭包的存在依赖于self的存在,那么很

ios - 推特搜索 API 1.1 错误 : Could not cast value of type '__NSCFDictionary' to 'NSArray'

此代码用于在Twitter上搜索主题标签,但给出错误提示无法将“__NSCFDictionary”类型的值转换为“NSArray”当我使用以下URL访问我的主页时间线时,相同的代码工作正常https://api.twitter.com/1.1/statuses/home_timeline.jsonfuncgetTimeLine(){letaccountType=account.accountTypeWithAccountTypeIdentifier(ACAccountTypeIdentifierTwitter)self.account.requestAccessToAccountsWi

swift - 在 Swift 中应该为哪些变量使用 weak var?我如何找出泄漏点?

我正在用Swift构建一个应用程序。我正在以完全编程的方式创建我的View。在某些情况下,我有一个实例化自定义View的ViewController。此外,我可能有像“varUser”这样的变量,它在Alamofire网络调用后被填充,并在整个ViewController的各种UI元素中使用。除了将委托(delegate)声明为weakvar之外,还有其他适用的规则吗?另外,有没有办法让我弄清楚我是否有一个应该是弱引用的强引用?我应该寻找什么? 最佳答案 Swift中引用计数背后的基本概念是所有权。对象应该持有对其“拥有”的任何其他

swift - "Implicit Any? to Any cast"传递任何警告时?键入任何变量?类型参数

警告Expression隐含地强制来自'Any?'toAny在将Any?类型值作为Any?类型参数传递时引发,但我看不到发生转换的位置。它似乎也只发生在字典值上。下面的示例显示了它何时发生:funcsomeFunc(_aParam:Any?){}lettestDict:Dictionary=["Test":"Hello"];someFunc(testDict["Test"]);如果使用正常的Any?值调用该函数,则不会出现警告,如下所示:lettest:Any?=nil;someFunc(test); 最佳答案 字典查找返回可选值,

ios - 从 Storyboard加载时 XCTest 中出现 "Could not cast"错误

我正在尝试在XCTest中加载我们的自定义ViewController之一:letmyViewController=storyboard.instantiateViewControllerWithIdentifier("MyViewControllerID")as!MyCustomViewController我收到这个错误:Couldnotcastvalueoftype'MyApp.MyCustomViewController'(0x10852b720)to'MyApp.MyCustomViewController'(0x11a7330a0).我正在使用Xcode7.1.1我在网上找到

swift - 如何在 1 行中引用 weak?

如何在不声明额外变量的情况下创建弱引用?例如我怎么能在一行中写这个:weakvarweakSelf=selfself.interactivePopGestureRecognizer?.delegate=weakSelf 最佳答案 一个属性是weak还是strong是属性的一个属性。它不是分配给它的值的属性。在您的情况下,您的interactivePopGestureRecognizer的delegate属性必须声明为weak才能执行任何有用的操作。在UIGestureRecognizer类中,委托(delegate)确实弱:@pro

swift - 在快速关闭中使用 `[weak self]` 是正确的方法吗?

我总是在swift闭包中使用[weakself]来防止引用循环。这是下面的代码,它是正确的方法吗?someTask(completion:{[weakself](result)inifself==nil{return}//isitsafewhenreachhere?self!.xxx=yyyself!.doLongTermWork()self!.finish()//willcrashwhenselfisnil?})弱小的self无法牢牢捕获实例。那么当self.doLongTermWork()时,self会不会在别的地方又被设置为nil呢? 最佳答案

【区块链论文阅读】A Weak Consensus Algorithm and Its Applic

【区块链论文阅读】AWeakConsensusAlgorithmandItsApplicationtoHigh-PerformanceBlockchain这是一篇网络顶会INFOCOM的文章,一作来自南方科技大学(第一次听说,南科大成立的晚,虽然不是985,211但是实力非常强)摘要:人们已经提出了大量的一致性算法。然而,严格一致性的要求限制了它们的广泛采用,尤其是在高性能系统中。在本文中,我们提出了一种弱一致性算法,只保持消息之间相对位置的一致性。我们应用这种一致性算法构建了一个高性能的区块链系统,称为Sphinx。我们使用32k+行代码实现该系统,包括consensus/P2P/ledge

ios - 为什么我得到 "Swift Dynamic Cast Failed"? :/

我想知道是否有人可以向我解释有关编程的“cast”或“casting”的概念,并帮助我解决在尝试执行此代码时出现“Swiftdynamiccastfailed”的问题:importUIKitimportCoreDataclassvcMain:UIViewController{@IBOutletvartxtUsername:UITextField!@IBOutletvartxtPassword:UITextField!@IBActionfuncbtnSave(){//println("Savebuttonpressed\(txtUsername.text)")//Addsthetextw

casting - 在 Swift 中将字节转换为字符

我正在使用NSInputStream来读取消息。read方法以字节为单位返回msg,与Java中相同。我想获取字节并将其打印为char(例如在Java中println((char)97)//prints"a")我如何在Swift中做到这一点?谢谢。 最佳答案 这个有效:letb:UInt8=97print(Character(UnicodeScalar(b)))如果你想让它更干净,你可以扩展UInt8和Int:extensionUInt8{varchar:Character{returnCharacter(UnicodeScalar