Questions tagged «automatic-ref-counting»

自动引用计数(ARC)是一种编译器功能,可提供对Objective-C和Swift对象的自动内存管理。


3
圆弧超越设定器
@interface Article : NSObject @property (nonatomic, strong) NSString *imageURLString; @end @implementation Class @synthesize imageURLString = _imageURLString; - (void)setImageURLString:(NSString *)imageURLString { _imageURLString = imageURLString; //do something else } 启用ARC时,我是否正确覆盖了设置器?

2
ARC是否支持调度队列?
我正在阅读有关“调度队列的内存管理”的苹果文档: 即使实现垃圾收集的应用程序,您仍然必须保留并释放您的调度队列和其他调度对象。Grand Central Dispatch不支持垃圾回收模型来回收内存。 我知道ARC不是垃圾收集器,但我想确定我不需要dispatch_retain和dispatch_release我的dispatch_queue_t


3
使用ARC并定位iOS 4.0时,如何替换弱引用?
我已经开始使用Xcode 4.2开发我的第一个iOS应用程序,并以“实用程序”模板(FlipsideViewController附带的模板)为目标iOS 5.0。 我读到,由于ARC是编译时功能,因此它也应与iOS 4兼容,因此我尝试将我的应用程序定位为4.3,然后尝试对其进行编译。当我这样做时,会出现以下错误: FlipsideViewController.m:错误:自动引用计数问题:当前部署目标不支持自动__weak引用 它引用此行: @synthesize delegate = _delegate; 该变量声明为: @property (weak, nonatomic) IBOutlet id <FlipsideViewControllerDelegate> delegate; 我了解到iOS 4不支持“弱引用”,但我真的不明白为什么我要使用弱引用作为开始,也无法弄清楚如何重写内容以避免使用它仍在利用ARC(毕竟,它应该可以在iOS 4和5上使用,对吧?)

3
KVO和ARC如何删除
如何从ARC下的对象中删除观察者?我们只是添加观察者而忘记删除它吗?如果我们不再手动管理内存,该从何处辞职? 例如,在视图控制器上: [self.view addObserver:self forKeyPath:@"self.frame" options:NSKeyValueObservingOptionNew context:nil]; 以前,我将调用removeObserver:视图控制器的dealloc方法。


7
在iOS上发送HTTP POST请求
我正在尝试使用正在开发的iOS应用程序发送HTTP Post,但尽管我确实得到了响应200(来自urlconnection)作为响应,但推送从未到达服务器。我从服务器未收到响应,服务器也未检测到我的帖子(服务器确实检测到来自Android的帖子) 我确实使用ARC,但已将pd和urlConnection设置为强。 这是我发送请求的代码 NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@%@",dk.baseURL,@"daantest"]]]; [request setHTTPMethod:@"POST"]; [request setValue:@"text/xml" forHTTPHeaderField:@"Content-type"]; NSString *sendString = @"<data><item>Item 1</item><item>Item 2</item></data>"; [request setValue:[NSString stringWithFormat:@"%d", [sendString length]] forHTTPHeaderField:@"Content-length"]; [request setHTTPBody:[sendString dataUsingEncoding:NSUTF8StringEncoding]]; PushDelegate *pushd = [[PushDelegate alloc] init]; pd = pushd; urlConnection = [[NSURLConnection alloc] initWithRequest:request delegate:pd]; [urlConnection start]; 这是我给代表的代码 …


2
在Mac上无法通过ARC使用responsToSelector
respondsToSelector在ARC环境中致电时,出现以下错误消息Automatic Reference Counting Issue No known instance method for selector respondsToSelector: 这是标题 #import <AppKit/AppKit.h> @class MTScrollView; @protocol MTScrollViewDelegate -(void)scrollViewDidScroll:(MTScrollView *)scrollView; @end @interface MTScrollView : NSScrollView { } @property(nonatomic, weak) id<MTScrollViewDelegate>delegate; @end 这是实施文件 #import "MTScrollView.h" @implementation MTScrollView @synthesize delegate; - (void)reflectScrolledClipView:(NSClipView *)aClipView { [super reflectScrolledClipView:aClipView]; if([delegate respondsToSelector:@selector(scrollViewDidScroll:)]) { [delegate scrollViewDidScroll:self]; } …

4
ARC的@property定义:强还是保留?
使用Xcode 4.2和ARC,我注意到自动生成的代码 NSManagedObject仍然像这样读取属性: @property (nonatomic, retain) NSString * someString; 1)不应该 retain现在应该用strong或代替weak吗? 2)为什么自动生成的代码仍然使用 retain 3)什么是正确的替代品 retain在此财产声明中? 我目前正在使用调试问题NSFetchRequest,并且我认为这可能是问题的根源。有什么想法吗?

4
ARC-__unsafe_unretained的含义?
只是想确保我做对了: 我是否需要__unsafe_unretain我不拥有的物体? 如果对象是__unsafe_unretained我需要用assign的@property?这是否意味着不保留该对象,而只是引用我分配给的对象? 除代理人外,我什么时候要使用它? 那是ARC东西还是以前使用过的东西?

2
如何为单个文件启用ARC
我想将使用ARC编写的单个Objective-C类引入一个旧项目。互联网为如何为您的项目启用ARC,然后为单个文件禁用ARC提供了许多参考,但是我想做相反的事情。 我想保留项目不变,即使用手动引用计数,然后仅为新文件启用ARC。(我的搜索使我在这里失败。) 这可能吗?怎么样?

11
是否可以调试“由于内存错误而终止”?
在我的应用程序运行的某个(一致)时刻,我始终收到xcode错误消息 由于内存错误而终止。 我找不到导致错误的代码,但是可以告诉错误附近的代码(使用断点)。 该错误是在我实现中返回某个单元格后直接导致的 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath UITableViewDataSource委托方法。我可以确认它返回的是有效的UITableViewCell,但我认为解释并发布整个方法将浪费您的时间。但是,我怀疑这可能是由于快速大量分配内存引起的。 它肯定说Terminated due to memory error,不是内存压力。 我想知道消息的真正含义。另外,有什么方法可以调试此消息?没有崩溃报告生成。 我正在使用ARC和iOS 7。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.