-
307 votesanswersviews
我可以使用Objective-C块作为属性吗?
是否可以使用标准属性语法将块作为属性? ARC 有什么变化吗? -
6 votesanswersviews
ARC属性的新属性
我可以使用've read the transitioning to ARC notes and I still have a bit of confusion about properties'属性...我们可以使用弱代替赋值(如果它指向的对象被释放,则属性设置为nil的优势),强代替保留和代替什么复制?我们仍然单独使用副本,或者我们需要与副本结合使用,例如 property (strong,c... -
91 votesanswersviews
Objective-C中的弱和强属性setter属性
Objective-C中弱属性和强属性setter属性有什么区别? @property(retain, [weak/strong]) __attribute__((NSObject)) CFDictionaryRef myDictionary; 有什么影响和好处? 我听说iOS 4上没有弱功能,我们需要使用assign . 弱类似于分配? -
12 votesanswersviews
Objective-C ARC代表
我正在编写一个对委托对象进行回调的类,但是我遇到了ARC的问题 . 例如我有ObjectA(委托),它符合ProtocolA,而ObjectB是回调委托的对象 . 我在ObjectB中将ObjectA存储为@property . 在这种情况下,哪些变量应该是强大的,哪些应该是弱参考?我需要避免将“自我”从ObjectA传递到ObjectB以设置委托导致从强指针到弱指针的转换的情况 . -
112 votesanswersviews
在哪些情况下我们需要在ARC下编写__autoreleasing所有权限定符?
我正在努力完成这个难题 . __strong 是所有Objective-C可保留对象指针的默认值,如NSObject,NSString等 . 这是一个强大的参考 . ARC在范围的末尾与 -release 进行 balancer . __unsafe_unretained 等于旧的方式 . 它用于弱指针而不保留可保留对象 . __weak 与 __unsafe_unretained 类似,不同... -
352 votesanswersviews
Objective-C ARC:强vs保留和弱vs赋值
ARC, strong 和 weak 引入的属性有两个新的内存管理属性 . 除了 copy ,这显然是完全不同的东西, are there any differences between strong vs retain and weak vs assign? 根据我的理解,这里唯一的区别是 weak 将指定 nil 指针,而 assign 赢得't, which means the progra... -
111 votesanswersviews
iOS5中强弱存储的说明
我是iOS5开发新手并使用objective-c . 我无法理解 strong 和 weak 存储之间的区别 . 我已经阅读了文档和其他SO问题,但它们听起来与我完全相同,没有进一步的见解 . 我读了the documentation: Transitioning To ARC - 它引用了iOS4的retain,assign和release术语;这让我很困惑 . 然后我看看Open U CS1... -
282 votesanswersviews
Objective-C声明@property属性(非原子,复制,强,弱)
当我必须使用每个属性时,有人可以详细解释我: nonatomic , copy , strong , weak 等,对于声明的属性,并解释每个属性的作用?某种例子也会很棒 . 我正在使用ARC . -
210 votesanswersviews
弱引用和无引用引用之间有什么区别?
斯威夫特有: 强引用 弱引用 无主参考文献 如何将无主参考与弱参考不同? 什么时候使用无主参考安全? 无主引用是否存在C / C中的dangling pointers等安全风险? -
77 votesanswersviews
在iOS上发送HTTP POST请求
我正在尝试使用我正在开发的iOS应用程序发送HTTP Post但是推送从未到达服务器,尽管我确实获得了代码200作为响应(来自urlconnection) . 我从来没有得到服务器的响应,也没有服务器检测到我的帖子(服务器检测到来自android的帖子) 我确实使用ARC,但将pd和urlConnection设置为强 . 这是我发送请求的代码 NSMutableURLRequest *reques... -
217 votesanswersviews
在实现API时,如何避免在块中捕获self?
我有一个工作的应用程序,我正在努力将其转换为Xcode 4.2中的ARC . 其中一个预检警告涉及在导致保留周期的块中强烈捕获 self . 我've made a simple code sample to illustrate the issue. I believe I understand what this means but I'我不确定"correct"或推荐的... -
0 votesanswersviews
Singleton中的NSMutableArray . 强或弱的 property ?
我对如何在我的Singleton中声明属性感到有些迷茫 . 我应该使用 strong 还是 weak ?特别是我有 NSMutableArray 属性,我不知道该怎么办 . 有人可以解释一些细节吗? 谢谢 -
14 votesanswersviews
在ARC下将代表设置为nil?
我正在使用ARC编写iOS应用程序并以iOS 5为目标 . 假设我编写了一个具有委托属性的自定义视图对象 . 在声明委托属性时,我将它作为一个弱引用来避免保留循环,这样当实际的委托对象(控制器)被销毁时,我的自定义视图也将被销毁,如下所示: @interface MyCustomView : UIView @property (nonatomic, weak) id<MyCustomVie... -
28 votesanswersviews
ARC,块和保留周期
使用ARC处理面向4.0和5.0的iOS项目 . 遇到与块相关的问题,ARC和从块外部引用对象 . 这是一些代码: __block AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request]; [operation setCompletionBlock:^ { ... -
10 votesanswersviews
使用ARC进行NSURLConnection sendSynchronousRequest
我开始玩ARC了,我尝试的第一个体验之一是对URL进行HTTP调用并获取一些数据 . 当然,HTTP状态代码对我来说很重要,所以这意味着我去了"goto"使用 sendSynchronousRequest ,如: NSError *error = [[NSError alloc] init]; NSHTTPURLResponse *responseCode = nil; NS... -
185 votesanswersviews
为什么ARC仍然需要@autoreleasepool?
在大多数情况下使用ARC(自动引用计数),我们不需要考虑使用Objective-C对象的内存管理 . 不允许再创建 NSAutoreleasePool ,但是有一个新的语法: @autoreleasepool { … } 我的问题是,当我不应该手动释放/自动释放时,为什么我需要这个呢? EDIT: 总结我从所有的答案和评论中得到的简洁: New Syntax: @autorelease... -
40 votesanswersviews
ARC下归零弱引用的集合
如何在ARC下获得 zeroing weak references 数组?我不喜欢数组元素要么在取消分配时删除它们,要么将这些条目设置为nil . 同样,我怎么能用字典做到这一点?我不希望字典保留值 . 再次,我希望字典元素要么在取消分配值时删除自己,要么将值设置为nil . (我需要保留密钥,这是唯一的标识符,至少在相应的值被释放之前 . ) 这两个问题涉及类似的问题: NSArray o... -
4 votesanswersviews
ARC之后,你还能以什么方式错误地引用解除分配的对象?
还有可能吗?我的意思是弱指针会自动为空 . 强指针只有在指向其他地方时才会解除分配 . 我们仍然可以指向解除分配的对象吗? __unsafe_unretained由知道他们正在做什么的人完成 . 所以这不是真的错误 . -
1 votesanswersviews
在ARC中,dealloc方法调用方法/块包含对self的弱引用,导致weakSelf = nil
正如 Headers 所述,在ARC模式下,当我使用自引用定义块时(弱以避免引用周期): ... id __weak weakSelf = self; self.someBlock = ^(){ if (weakSelf != nil){ (do something with weakSelf...) return NO; } return ... -
10 votesanswersviews
用强弱自我打破保留周期
我已经阅读了关于强/弱 self 的帖子来打破保留周期,但我仍然对它们是如何工作感到困惑 . 我理解使用 __weak typeof(self) weakSelf = self 来创建一个弱的自我引用,但我对强引用感到困惑 . 据我了解,强引用是有一个强烈的引用 self ,以便它不会在块结束之前解除分配?那么为什么有必要 __strong typeof(self) strongSelf = we... -
0 votesanswersviews
当释放对象时,使用ARC分配对弱引用的强引用?
例如,如果我们有2个具有NSString属性的对象,一个是弱的,一个是这样的强 @interface Class1 : NSObject @property (weak) NSString *weakString; @end @interface Class2 : NSObject @property (strong) NSString *strongString; @end 然后这样做: ... -
2 votesanswersviews
在弧形中保留 property
我是Objective-c的新手 . 我有一个问题 . 我对Retain知之甚少 . 我所知道的是保留一个对象会创建一个强引用,并且在释放所有强引用之前,不能释放一个对象 . 如果两个对象彼此保留,则两个对象都不会被释放,因为它们之间的连接不能被破坏 . 在ARC中,我们无法保留对象 . 但我们可以保留一处房产 . 保留对象和保留属性有什么区别 . 谢谢你快乐的编码 . -
44 votesanswersviews
在ARC中归零弱引用
如果我对Mike Ash的"Zeroing Weak References" writeup的读数是正确的,那么弱引用就像没有ARC的 assign 引用 . 但是,如果引用的对象被释放,而不是获得"dangling pointer"(意味着指向解除分配的对象的指针),则指针将设置为 nil . 这是对的, does this happen with an... -
4 votesanswersviews
我什么时候应该使用IBOutlets的弱或强定格符? [重复]
可能重复:IBOutlets在ARC下是强还是弱? 在文档中,我读到“Outlets通常应该是弱的,除了那些从File的所有者到nib文件中的顶级对象(或者,在iOS中,故事板场景中)应该是强大的 . ” 例子?我不明白什么时候最好使用IBOutlet的“弱”而不是“强”属性 . -
7 votesanswersviews
ARC还是没有ARC iphone iOS5 [关闭]
我开发了一个iPhone应用程序,它应该支持基于iOS4和iOS5的iPhone / iPad . 我的应用程序在几个地方泄漏内存,由于代码的大小而变得难以调试 . 我最近读过ARC(自动引用计数),我的查询是 我是否需要修改我的源代码(retain / release / alloc / dealloc)以使用ARC进行编译 . 还有我们需要使用ARC执行哪些更改? 建议转向ARC吗? ... -
1 votesanswersviews
弱与强参考[重复]
这个问题在这里已有答案: Why isn’t my weak reference cleared right after the strong ones are gone? 4个答案 When does a weak reference get updated to nil in Objective-C? [duplicate] 2个答案 从弱强引用中可以理解的是: 一个对象被强弱... -
2 votesanswersviews
释放弱引用iOS
我正在开发一个自定义iOS SDK . 我根据自己的要求创建了弱而强大的参考资料 . 我不清楚的是: when will the weakly reference object gets de-allocated? 假设我有3个对象 A,B,C . A 对 B 有弱引用, B 对 C 有强引用 . A --- >(weak ref) B --->(strong ref)C 所有3... -
2 votesanswersviews
弱或无主或无
我有一个ViewController类,如下所示: class ViewController { var viewModel = ViewModel() viewDidLoad() { self.viewModel.showAlert = { [weak self] in self?.alert() } } ... -
0 votesanswersviews
ARRK! ARC错误:'CFTypeRef'(又名'const void *')到'NSNumber *'是不允许的
我正在尝试将一些Apple代码(从 SquareCam 示例)转换为ARC . 我将Apple代码标记为非ARC编译并且它有效但我在非ARC上下文之间传递图像时遇到崩溃错误 - 所以我正试图解决这个问题 . 无论如何,我认为我已经处理了除此行之外的所有ARC内容: NSNumber *orientation = CMGetAttachment(imageDataSampleBuffer, kCGI... -
0 votesanswersviews
ARC如何在ios中的以下代码片段中工作?
假设我有一个返回对象指针的方法 -(MyObj *) returnMyObj { MyObj *obj = [MyObj alloc] init]; return obj; } 如果我调用此函数而不指定像这样的指针 Scenario 1 [self returnMyObj]; 如果我调用此函数并赋值给这样的指针 Scenario 2 MyObj* obj = [self retur...