草庐IT

iphone - ARC 是否意味着我应该声明静态类型而不是 id?

ARC文档在LLVM站点上公开可用,因此NDA在这里不是问题。我发现在为ARC准备代码时,我在很多以前使用(id)的情况下使用了(NSObject*)。例如,如果我正在编写一个initWithParent:方法,它可能是-(id)initWithParent:(NSObject*)parent;我以前会写的地方-(id)initWithParent:(id)parent;我的问题是-这种做法有意义吗? 最佳答案 我相信这适用于大多数情况,至少如果您的对象派生自NSObject(并非所有对象都派生)。Here'saninteresti

ios - 是否可以在 Build Phases 的编译源中不添加 "fno-objc-arc"来启用非 arc 文件?

是否可以在构建阶段不向编译源添加fno-objc-arc以某种方式处理非arc文件?更具体地说,有没有办法在代码中的某处添加fno-objc-arc?原因是,我想开源我的一个使用非arc文件的库,我不希望使用我的库的人手动添加fno-objc-arc。只需拖放... 最佳答案 没有。但是如果你看看一些库做了什么,它们会编写宏来有条件地调用MRC调用,例如release、autorelease等,具体取决于用户是否是否使用ARC进行编译,例如使用__has_feature(objc_arc)测试。然后代码使用这些宏,而不是标准的rel

ios - Objective-C 中的动态缓冲区(带 ARC)

我正在尝试使用NSString对象的-(void)getCharacters:(unichar*)bufferrange:(NSRange)aRange方法,但我有一个第一个参数的问题。此NSString中的字符数不固定,因此我需要动态分配缓冲区(缓冲区的大小必须类似于[my_stringlength]*sizeof(UniChar))。我是Objective-C的新手,不知道该怎么做。我可以像在C程序中那样使用malloc(启用ARC)吗? 最佳答案 是的,您可以malloc()适当大小的缓冲区。您必须free()缓冲区当不再使用

ios - `arc4random` 系列函数线程安全吗?

我特别关心iOS和OSX。如果不是,有哪些具有随机性的密码质量的可能替代品? 最佳答案 是的,arc4random、arc4random_uniform、arc4random_buf、arc4random_stir和arc4random_addrandom它们是线程安全的。你可以在sourcecode中看到这个,也得到了苹果开发者关系人员的证实(不过暂时找不到链接)。 关于ios-`arc4random`系列函数线程安全吗?,我们在StackOverflow上找到一个类似的问题:

iphone - 带有 ASIHTTPRequest 的 ARC

我正在使用iOSSDK5开发应用程序,并且正在尝试使用ARC。但我需要使用ASIHTTPRequest并且它不支持ARC。Apple的文档说可以使用基于ARC文件的。因此,我使用-fno-objc-arc编译所有ASIHTTPRequest文件。我在使用ARC的类中编写了以下代码:NSURL*url=[[NSURLalloc]initWithString:urlStr];ASIHTTPRequest*req=[[ASIHTTPRequestalloc]initWithURL:url];req.delegate=self;[reqstartAsynchronous];但是执行第一行后,u

objective-c - 哪些 iOS 版本支持带有 __weak 指示符的 ARC?

我认为__Weak指示符只能在iOS5上工作,而在以前的iOS版本上您必须使用__unsafe_unretained。但是在这个评论https://stackoverflow.com/a/8543037/904972NJones暗示iOS4.3+处理__weak引用,而你必须在iOS 最佳答案 来自http://developer.apple.com/library/mac/#releasenotes/ObjectiveC/RN-TransitioningToARC/_index.htmlARCissupportedinXcode4

ios - 是否有像 SDWebImage 或 HJCache 支持 ARC 的缓存框架?

我找到了https://github.com/rs/SDWebImage和https://github.com/markofjohnson/HJCache图像异步下载和在磁盘和内存上缓存的好方法。有没有类似但支持ARC的东西? 最佳答案 更新:AFNetworking添加了对ARC的支持。对于图像缓存,NSURLCache从ios5开始进行磁盘缓存,请参见此处here 关于ios-是否有像SDWebImage或HJCache支持ARC的缓存框架?,我们在StackOverflow上找到一

ios - 如果不在 Xcode 中打开它,如何判断 iOS 项目是否正在使用 ARC?

我无权访问Xcode,但想确保项目正在使用ARC。哪个文件包含显示ARC已启用的设置?在我的AppDelegate.h文件中有很多行看起来像这样。@property(nonatomic,strong)Test*test; 最佳答案 搜索MyProject.xcodeproj/project.pbxproj文件,并使用文本编辑器打开它,查看它是否包含CLANG_ENABLE_OBJC_ARC的值。如果您看到=YES,则表示已为项目中的一个或多个目标启用ARC。 关于ios-如果不在Xcod

ios - 当使用 ARC 从 UIView 调用 dealloc 时,我可以假设仍然保留 ivars 吗?

我正在将UIView的子类上的KVO观察器添加到其subview之一。我也对subview有很强的引用。当我在dealloc的subview上调用removeObserver时,我可以假设subview仍然存在吗?我不想泄露观察者。基本上ARC中调用dealloc时,自动调用[superdealloc]是在调用之前还是之后? 最佳答案 来自http://clang.llvm.org/docs/AutomaticReferenceCounting.htmlAclassmayprovideamethoddefinitionforanin

ios - 为什么 ARC 在直接将对象分配给属性时无法正常工作

我有这两个对象//Headerfile#import@classObject2;@interfaceObject1:NSObject@propertyObject2*child;@end@interfaceObject2:NSObject@property(weak)Object1*parent;@end//ImplementationFile#import"MyClass.h"@implementationObject1-(void)dealloc{NSLog(@"deallocatingparent");}@end@implementationObject2-(void)deall