草庐IT

weak_ptr_cast

全部标签

iphone - 使用 __weak 属性将参数传递给 block 会导致内存泄漏吗?

在我的支持ARC的iOS代码中,我需要将“self”和其他对象传递给一个block。更具体地说,我需要在ASIHTTPRequest的completionBlock中与self和ASIHTTPRequest对象进行交互。_operation=[[NSInvocationOperationalloc]initWithTarget:selfselector:@selector(parseServerReply)object:nil];_request=[ASIHTTPRequestrequestWithURL:@"server.address"];//...[_requestsetComp

objective-c - ARC __bridge cast Block_copy 和 Block_release

出于某种原因,我希望在运行循环的下一次迭代期间执行一个block,所以我想出了:typedefvoid(^resizer_t)();-(void)applyResizer:(resizer_t)resizer{resizer();Block_release(resizer);}-(void)usage{...resizer_tresizer=^(){//stuff};[selfperformSelectorOnMainThread:@selector(applyResizer:)withObject:(__bridgeid)Block_copy((__bridgevoid*)resiz

objective-c - 我什么时候应该对 IBOutlets 使用 weak 或 strong 限定符?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:ShouldIBOutletsbestrongorweakunderARC?在文档中,我读到“socket通常应该很弱,除了从文件所有者到nib文件(或在iOS中,Storyboard场景)中的顶级对象的socket应该很强。”例子?我不明白什么时候最好为IBOutlet使用“弱”而不是“强”属性。

ios - IBOutlets Strong or Weak - 它真的对内存管理有影响吗? (弧)

我最近在这里和其他网站上阅读了很多关于IBOutlets应该强还是弱的文章。官方判定它们应该是弱的,除非它们引用顶级xib对象。这很好。然而,我还不清楚为什么将它们设置为强或弱实际上会对应用程序的内存管理产生影响。特别是从iOS6开始,viewDidUnload不再在收到内存警告时调用,因此从这个意义上说,为IBOutlets选择弱或强不会有任何区别。虽然对于不再位于导航堆栈中的ViewController(即在它们被加载然后弹出之后),我认为任何声明为弱的IBOutlets都将被释放,但我的想法是否正确?感谢您的任何见解! 最佳答案

ios - 如何让 Chrome Cast 在 iOS 后台运行?

我有一个简单的问题,当您转到iPhone的主屏幕并且不退出应用程序时,chromeCast设备停止在屏幕上播放视频如何在应用程序在后台运行时保持播放。 最佳答案 如果您有一个视频应用程序并且它在转换设备上运行,您会希望有以下行为:如果用户“明确”断开设备(通过转换菜单),则接收者应查看已连接的设备并查看是否有任何“其他”已连接设备。如果没有,它应该停止转换设备上的应用程序。但是,如果它找到另一台连接的设备,则不应停止该应用。如果用户没有明确断开连接,但由于应用程序进入后台、手机超出wifi范围、电池电量耗尽或...,设备断开连接,则

ios - 为什么 weak for property 和 __weak for instance variable 表现不同

我知道strong和weak是属性声明中使用的修饰符,而__strong和__weak用于实例变量的声明...strong表示只要我拥有它就将对象保留在内存中,weak表示保留对象在内存中,只要其他人对它有很强的引用……对吧?但我不明白为什么weak属性和__weak例如变量的行为不同?这就是我想知道的......@interfaceDemoViewController(){__weakNSArray*weakArray;__strongNSArray*strongArray;__weakNSString*weakString;__strongNSString*strongString

iphone - __weak UIDataType *weakSelf 和 UIDataType __weak *weakSelf 之间的区别?

我看到了两种不同的实现...__weakUIDataType*weakSelf=self;和UIDataType__weak*weakSelf=self;但它们似乎都有效。引擎盖下发生的事情有什么不同吗?提前感谢您的智慧! 最佳答案 没有区别。由于__weak只能应用于指向对象的指针类型,因此编译器认为只有一种含义对以下所有内容都有意义:__weakUIDataType*weakSelf;UIDataType__weak*weakSelf;UIDataType*__weakweakSelf;这同样适用于其他所有权限定符(__stro

ios - 为什么 UIKit 委托(delegate) "assign"而不是 "weak"?

如标题所述,为什么UIKit与会代表(assign)而不是(weak)?参见UIPopovercontroller.h例如:@property(nonatomic,assign)iddelegate;据我所知,与弱保留属性相比,这并没有带来任何好处,但委托(delegate)人需要管理自己作为委托(delegate)人的生命周期时会出现很多问题。这是向后兼容性问题吗?谢谢 最佳答案 因为大多数这些属性在iOSSDK支持弱属性之前就已经存在。weak属性仅在iOS5.0及更高版本上受支持。我不得不猜测,一旦iOS4.x和更早版本成为历

ios - 为什么在 Objective-C 的函数定义中使用 (__weak Class)?

我有一个工厂类构建了我定义的不同类型的UITableViewCell,我们称它们为:TypeATableViewCell和TypeBTableViewCell。现在我的工厂类中的方法定义如下:+(UITableViewCell*)getCellForIdentifier:(NSString*)identifiercellClass:(__weakClass)cellClass;为什么有人会选择在这里使用(__weakClass)而不是(Class)。谢谢,尼古拉斯 最佳答案 一般来说,这无关紧要。Classes是有效的interne

ios - __strong 和 strong,__weak 和 weak 之间有什么区别?

我是ios编程的菜鸟。请解释一下这些__strong和__weak属性的含义以及使用它们的原因? 最佳答案 strong和weak是用于属性声明的修饰符,而__strong和__weak用于变量声明. 关于ios-__strong和strong,__weak和weak之间有什么区别?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/19660390/