草庐IT

weak_ptr_cast

全部标签

objective-c - IBOutlet 是否暗示 __weak?

刚开始使用ARC。在ARC之前,我只是简单地声明我的导出,例如:IBOutletUIButton*button;所以我不会保留它或任何东西。对于ARC,不指定弱或强意味着强。所以如果我在ARC下做同样的事情(即IBOutletUIButton*button;),这是否意味着按钮是一个强引用?还是我必须明确地将其定义为弱?简而言之,IBOutlet是否暗示__weak? 最佳答案 单词IBOutlet实际上没有定义:#defineIBOutletXcode只是在您的代码中使用这个词的存在,以允许您在InterfaceBuilder中建

objective-c - "property with ' weak' attribute must be of object type"是什么意思?

我的界面中有这个:@property(nonatomic,weak)NSTimeInterval*timeStamp;我的逻辑告诉我,我需要一个时间戳对象,这个对象只会在实例化的上下文中被这个类使用,所以“弱”对我来说似乎是合乎逻辑的——但XCode告诉我“具有“弱”属性的属性必须是对象类型“......如果我这样做:@property(nonatomic)NSTimeInterval*timeStamp;然后错误消失了,但我不确定我明白为什么...... 最佳答案 问题是NSTimeInterval是一个值类型——它是double

iphone - 带有 -weak_library/usr/lib/libSystem.B.dylib 链接器标志的 objc_setAssociatedObject 上的 EXC_BAD_ACCESS

当我使用链接器标志调用objc_setAssociatedObject时,我有一个EXC_BAD_ACCESS:-weak_library/usr/lib/libSystem.B.dyliblinker旗帜。因为this,我绝对需要链接器标志,有人知道解决方法吗?(我在dispatch_async上也遇到了崩溃,但我可以解决这个问题......另外,我正在我的应用程序上构建一个仅适用于iOS4的功能,它与iOS3兼容)编辑:通过更多研究,我发现了this和this问题,但没有更多的答案...... 最佳答案 问题只是iOS模拟器中的

ios - 通过-weak_library 弱链接静态库

问题:是否可以弱链接静态库(Obj-C)?详细信息我确实希望我的自定义静态框架(MyFramework.framework)弱链接我的其他自定义静态库(libMyLibrary.a)。libMyLibrary.a背后的功能是可选的,如果没有NOlibMyLibrary.a被任何第3方应用程序链接,则可以省略使用MyFramework.framework。Iamusing-weak_library。我的测试应用程序提示静态链接器无法在MyFramework的ABCTracker.o中找到MyLibrary的符号MyClass>符号:Undefinedsymbolsforarchitect

ios - ARC __block 和 __weak

假设我正在尝试从一个block中访问self:[someObjectsuccessBlock:^(NSArray*result){[selfsomeSuccessMethod];}failure:^(NSString*errorMessage,intstatus){[selfsomeFailureMethod];}];我知道这会创建一个保留周期,并且someObject和self永远不会被取消分配。令我困惑的是使用/不使用__block关键字时实际发生的情况。我可以通过对self进行__weak引用来修复保留周期:__weakMyClass*me=self;[someObjectsuc

ios - @synthesize of 'weak' 属性只允许在 ARC 或 GC 模式下第一次编译 urbanship

基本上,我有一个运行正常的IOS应用程序。同时按照http://docs.urbanairship.com/build/ios.html#ios-push-getting-started中的说明进行操作,我到达了“RegisterYourDevice”部分,要求我进行编译。尝试在xCode5中构建代码后,我收到以下错误“@implementationUAPushSettingsAddTagViewController@synthesizeof'weak'propertyisonlyallowedinARCorGCmode”。注意:ARC模式未使用。 最佳答案

iphone - 对象的 NSArray 和 Casting

我有一个类A拥有属性(property)NSString*name.如果有NSArray并添加许多A对象到这个数组中,每次我检索一个对象时都需要强制转换吗?即NSString*n=(NSString*)[arrobjectAtIndex:1];或者是否有另一种方法可以像在java中那样使用ArrayListarr? 最佳答案 NSArray不存储有关其中包含的对象类型的信息。如果您确定知道数组中对象的类型,则可以隐式或显式执行转换:NSString*n=[arrobjectAtIndex:1];//implicittypeconve

boost::asio::read 抛出编译错误 'read_some' 不是 'boost::shared_ptr<boost::asio::ip::tcp::socket>' 的成员

我正在尝试构建一个客户端以通过特定协议(protocol)从服务器获取数据。我知道我的代码不是最好的-但目前我仍在试验BoostASIO的基本功能。我想从TCP-Function中实现读取,它会阻塞直到接收到特定数量的字节。我的问题:当我调用boost::asio::read或boost::asio::write时出现以下错误:错误C2039:“read_some”:不是boost::shared_ptr的成员我正在使用VS2013Professional,Boost1.55.00(预编译)。这是我的代码:(您可以通过注释“//HEEERE”找到该行boost::mutexcout_l

ios - 在这个闭包中我需要 [unowned self] 还是 [weak self]?

overridefuncviewDidLoad(){super.viewDidLoad()self.view.backgroundColor=UIColor(netHex:0xfc3158)fadeBackground()NSTimer.scheduledTimerWithTimeInterval(self.fadeTime,target:self,selector:Selector("fadeBackground"),userInfo:nil,repeats:true)}funcfadeBackground(){UIView.animateWithDuration(self.fade

swift - 如何在 curried 函数中指定 `weak` self

我有一个UIViewController,它在其属性之一上调用异步函数。对于回调,我想提供一个具有正确参数类型的函数,而不是闭包。classFetcher{funcfetch(completion:([String]->())){//...dostuffcompletion([...])}}classViewController:UIViewController{letfetcher=Fetcher()funcfetch(){fetcher.fetch(didFetch)}funcdidFetch(result:[String]){//handleresult}}一切正常,除了两个对象