草庐IT

arc4_random

全部标签

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模式未使用。 最佳答案

ios - Objective-c:为什么 Core Foundation 变量需要在 ARC 中显式释放?

当我想到ARC时,没有发布的开销。但是一旦遇到CoreFoundation变量,它们也需要在ARC中发布。尽管NS..和CF..的ARC规则不同,但是否有任何不支持CF..的特定原因>在ARC中? 最佳答案 WhenIthinkaboutARCthereisnooverheadofrelease.我假设您的意思是“我不必担心发布”。通常会有一些性能开销,尽管编译器有时可以优化它。ThoughtheARCrulesaredifferentforbothNS..andCF..,isthereanythingspecificreasonf

ios - Xcode Convert to ARC, Create universal binary fails with error of "can' t 找出架构类型”

我正在尝试将iOS(纯Objective-C)项目转换为ARC。转换在octestObjective-CreateUniversalBinary阶段失败并出现以下错误。项目和目标架构build设置在我看来是正确的,所以我很难理解为什么会失败:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/lipo:can'tfigureoutthearchitecturetypeof:/Users/andybowskill/Library/Developer/Xcode/D

iOS:ARC 不允许使用 CFTypeRef

我想从我的钥匙串(keychain)中获取用户名/密码。为此,我遵循了本指南:SimpleiPhoneKeychainAccess但是这部分在ARC中是不允许的:NSData*result=nil;OSStatusstatus=SecItemCopyMatching((CFDictionaryRef)searchDictionary,(CFTypeRef*)&result);我能做什么? 最佳答案 ARC只管理Objective-C类型。如果转换为CoreFoundation类型,则必须使用__bridge、__bridge_ret

objective-c - 在 arc 中,当你不合成时会发生什么

在启用iOSARC的项目中,如果我不合成属性会发生什么情况,因为保留/释放是不允许的?@interfaceSomeClass:NSObject{NSMutableArray*_pieces;}@end在这种情况下,iVar_pieces的内存语义是什么?假设我使用_pieces=whatever设置它。当我的SomeClass实例被释放时,_pieces是否设置为nil?_pieces是否存储为弱引用?如果保留_pieces的所有其他对象都释放了它,那么当我尝试访问它时它是否会为空? 最佳答案 根据其他人的反馈,一些观察结果到此为止

ios - 在 ARC 应用程序中包含非 ARC 库?

那么,这可能吗?我多次收到此错误:ARCforbidsObjective-Cobjectsinstructsorunions例如这里:typedefstruct{BOOL_field1;union{struct{id_field1;id_field2;}_field1;GSEventRef_field2;}_field2;}XXStruct_CKAdxD; 最佳答案 您需要将-fno-objc-arc添加到每个不/不能使用ARC的文件的编译器选项中。在Xcode中,您可以从目标的“编译源代码”构建阶段执行此操作。双击文件,在弹出的框

ios - Arc4随机 float ?

这样做:floatx=arc4random()%100;返回一个0到100之间的数字的体面结果。但是这样做:floatx=(arc4random()%100)/100;返回0。如何让它返回一个浮点值? 最佳答案 简单地说,您进行的是整数除法,而不是float除法,因此您得到的只是截断的结果(例如,.123被截断为0)。尝试floatx=(arc4random()%100)/100.0f; 关于ios-Arc4随机float?,我们在StackOverflow上找到一个类似的问题:

objective-c - 使用 ARC 返回自动释放的 CFTypeRef

我是LLVM和Objective-C自动引用计数的新手,对从我的Objective-C函数返回CGImageRefs有疑问。在手动引用计数的时代,可以简单地将CGImageRef转换为id,自动释放它,然后返回原始CGImageRef。使用ARC,我知道您可以指示ARC系统自动释放并返回您的可保留对象,但我没有看到为CFTypeRefs执行此操作的方法。这是我在禁用ARC的情况下可以做的事情:-(CGImageRef)image{CGImageRefmyImage;idmyImageID=(id)myImage;[myImageIDautorelease];returnmyImage;

iOS 8 - 服务器 'randomly' 未接收到使用 tcp/ip 协议(protocol)发送的数据包

本质上,我遇到的问题是我的基于tcp/ip的服务器随机地没有收到我发送的一些数据包。我确定它实际上不是随机的,但我还没有弄清楚是什么导致了这个问题。这个确切的代码在我的应用程序的以前版本中完美运行。这是我的代码:初始化网络连接:-(void)initNetworkCommunication{CFReadStreamRefreadStream;CFWriteStreamRefwriteStream;intrandomPort=[selfrandomPort];CFStreamCreatePairWithSocketToHost(NULL,(__bridgeCFStringRef)kSER

sockets - Modbus TCP :Is there any better way for reading registers randomly one or more?

我们正在编写一个Windows服务,通过C#中的Socket编程,使用ModbusTCP协议(protocol)以1秒的轮询间隔从PLC读取数据。WindowsService会接收PLC的随机寄存器来读取寄存器值。预期随机注册,如40150、40250、40270、40320。从上面的案例如何创建ModbusTCP请求头?我们可以找到两种可能的方法:使用功能代码3,我们可以读取特定范围内的寄存器的值,例如从40150到40320,这样我们就可以读取这40150,40250,40270,40320寄存器值。另一种方式是逐个请求40150、40250、40270、40320这几个寄存器(这