automatic-ref-counting相关内容
我正在编写一个简单的聊天服务器,该服务器将消息广播到所有连接的客户端. 由于我是初学者,因此代码看起来可能很糟糕.对等体尚未在任何地方使用,因为我也想将其传递给handle_client函数,因此当数据在流中可用并成功读取时,我想在所有连接的客户端上广播它.我知道这不是一个好方法,我只是想了解我一般如何做这样的事情. use std::io::BufRead; use std::io:
..
我有一个问题:如果我使用ARC创建了一个应用程序,那么与该应用程序兼容的IOS的最新版本是什么?如果我在AppStore中上传我的应用程序,每个人都可以使用我的应用程序吗?还是只有拥有特定ios版本设备的人? 解决方案 iOS 4.0支持ARC,但有一个警告:弱引用的自动归零仅在iOS 5.0及更高版本上受支持.
..
我目前正在学习Objective C,到目前为止,我一直在所有项目中使用自动引用计数.但是,在与一些同事交谈之后,并在网上浏览了一些论坛之后,Ive注意到一种趋势,即关闭了“自动引用计数"并手动管理内存. 我一直想知道ARC是否做得足够好,还是偶尔丢球.手动分配/取消分配内存是否更有效?是否有人因为这就是他们习惯而关闭了ARC? 我应该继续使用ARC吗?如果不是这样,有人会在将来知道A
..
随着ARC的出现,提供了一些新功能,以使开发人员可以使用弱引用的对象. id objc_loadWeak(id *location)是其中之一.该函数接收一个对应于内存中弱对象存储位置的参数,如果该对象仍然存在,则返回该对象;如果释放该对象,则返回nil. 似乎当将对象obj作为weak存储在具有id objc_storeWeak(id *location, id obj)的位置locati
..
如何使用ARC编译以下代码? int main() { NSURL *url = [NSURL new]; NSURL * __strong *urlPointer = &url; CFURLRef *cfPointer = (__bridge CFURLRef *)urlPointer; geturl(cfPointer); NSLog(@"Got
..
这是安全的事吗? __weak typeof (self) welf = self; dispatch_async(dispatch_get_main_queue(), ^{ [welf doStuff]; }) .... -(void)doStuff { [_member1 someMethod]; .... [_member2 someMethodWi
..
在将项目转换到ARC之后,我遇到了一些问题,即在已释放的实例上未调用/正在调用委托方法.我已经意识到问题是我有一个变量,该变量被分配然后执行异步任务.举一个简单的例子,假设有一个名为MyService的对象,它响应委托方法executeDidSucceed: - (void)fireRequest { MyService *service = [[MyService alloc] i
..
要编译源文件,请先使用clang对其进行预处理,然后再对其进行编译.因此,如果运行 clang -E ,我应该得到一个预处理文件,可以使用 clang -c 进行编译.但是以下代码在经过预处理后无法编译. int main(int argc, char * argv[]) { NSString* foo = @"bar"; CFStringRef urlString = C
..
为什么Objective-C运行时方法object_getInstanceVariable和object_setInstanceVariable在自动引用计数下不可用,我该怎么办? 当实例变量的大小大于开发目标的指针大小时, object_getInstanceVariable有问题.我该如何解决? 解决方案 请改用valueForKey:和setValue:forKey:方法.这些允
..
我想将xmppframework添加到我的项目中,如何一次将-fobjc-arc添加到所有xmpp文件中? 解决方案 这并不完美,但通常已经足够了: 在项目窗口的左上方选择项目. 选择目标. 打开构建阶段窗格. 选择“编译源" 在过滤器区域中输入"xmpp" 选择所需的文件. 单击Enter,然后在对话框中键入-fobjc_arc.
..
我正在阅读由坂本一树(Kazuki Sakamoto)编写的带有ARC,Grand Central Dispatch和Blocks的iOS和OS X Pro多线程和内存管理专业版. 这本书写道: 使用带有__weak限定词的变量时,该对象始终为 在autoreleasepool中注册. id __weak obj1 = obj0; NSLog(@"class=%@", [obj1
..
考虑: class SomeCppClass { public: SomeCppClass() {} ; ~SomeCppClass() {} ; } ; @interface Test1 : NSObject - (id) init ; @property (strong, nonatomic) NSMutableArray * container ; @end
..
我有以下代码可用于加载UITableView: - (int)numberOfSectionsInTableView:(UITableView *)tableView { if (tableView == self.peopleTableView) return [self.people count]; else return [[[self.
..
我使用的是xcode 4.3.2,正在编译zmqobj https://github.com/jeremy-w/objc-zmq.git .该项目中包含的原始目标是针对os x的,但是我正在尝试为ios添加一个新目标. 对于新目标,它给了我ARC投诉(因为代码是非ARC).但是,当为原始的os x目标进行编译时,它不会给我这些警告. 添加-fno-objc-arc给我: /App
..
我的情节提要中有一个视图,该视图分配了一个名为"MainView"的标识符.但是,如果我将其视图添加到子视图中,则随后的所有操作都会导致崩溃(例如,按下按钮) MainViewController *mvc = [self.storyboard instantiateViewControllerWithIdentifier:@"MainView"]; [self.v
..
通常,除了UIWebView之外,整个UIKit/Foundation框架中的所有代表都是弱者. @property(nonatomic, assign) id delegate; 我很感兴趣,因为当您忘记取消UIWebView的ViewController时取消委托时,这在我的应用程序中导致了几次崩溃.通常,您不会期望这样的事情,因此可能有特
..
我想将对象存储在对象弱且符合协议的数组中.但是当我尝试循环它时,出现编译器错误: public class Weak { public weak var value : T? public init (value: T) { self.value = value } } public protocol ClassWithR
..
这种分类方法是否可以避免在NSNotificationCenter观察者上进行额外保留? #import "NSNotificationCenter+Util.h" @implementation NSNotificationCenter (Util) - (void)addWeakObserver:(nonnull NSObject*)observer selector:(nonnul
..
我刚刚开始使用Xcode 4.2和iOS5进行开发.创建空的选项卡式应用程序项目后,我注意到在属性上使用了新的关键字"strong".我在这篇文章上读到有关它与在ARC环境中保留替换有关的信息,但是情况并非如此,因为我没有选中“使用自动引用计数"复选框. 解决方案 在非ARC环境中,关键字"Strong"是"retain"的同义词. 对于ARC环境,请在此处阅读: http://cl
..
我想将我的应用程序转换为ARC.我可以将Objective-C Automatic Reference Counting更改为YES,但这不会自动删除release s retain s等. Xcode拥有一个新工具,该工具可以自动执行ARC转换的机械部分(例如删除保留和释放调用),并可以帮助您解决迁移器无法自动处理的问题.迁移工具将项目中的所有文件转换为使用ARC.如果您更方便地对某些文件
..