草庐IT

NS_RETURNS_INNER_POINTER

全部标签

ios - 如何使用 const CGFloat 检查 NS_AVAILABLE_IOS

当一个方法只能在某些iOS版本上使用时,我通常使用respondsToSelector:检查它的可用性。使用constCGFloat声明这是不可能的。我尝试使用的特定常量是UIFontWeightBlack,它被定义为:UIKIT_EXTERNconstCGFloatUIFontWeightBlackNS_AVAILABLE_IOS(8_2);检查运行我的代码的iOS版本是否支持此常量的最佳方法是什么?此外,如果我想支持使用旧版本的iOSSDK构建我的框架,那么在编译时检查所使用的SDK是否提供此符号的最佳方法是什么?我目前会用进行检查#if__IPHONE_OS_VERSION_MA

ios - UIColor 获取色调 :saturation:brightness:alpha: returns NO

我正在使用以下函数来“更改”UIColor的饱和度、亮度和alpha://UIColor*color=[selfcolor:[UIColorredColor]saturation:0.5brightness:0.5alpha:0.5];-(UIColor*)color:(UIColor*)colorsaturation:(CGFloat)saturationbrightness:(CGFloat)brightnessalpha:(CGFloat)alpha{CGFloath,s,b,a;[colorgetHue:&hsaturation:&sbrightness:&balpha:&a]

ios - 如何使用 NS_DESIGNATED_INITIALIZER 并覆盖 init?

好吧,这确实是一个最佳实践问题,但我想把它做对,所以希望有人能启发我:场景非常标准,但有一个转折点:我编写的框架中有一个类直接继承自NSObject。它有一个带有相当多参数的指定初始化器,其中大部分是nonnull。由于它是框架的一部分,我明确地使用了NS_DESIGNATED_INITIALIZER宏(我并不总是在较小的个人应用程序中这样做)。问题是这导致XCode警告我也覆盖init,即父类(superclass)​​的指定初始化程序。但另外它要求我从它调用我的指定的初始化器,我不能这样做,因为我只是缺少有意义的参数默认值。我真的不想在“小”init中抛出异常,我更愿意返回nil。

ios - 分配 : *** error for object 0x1746ea3fe: Invalid pointer

malloc:*errorforobject0x1746ea3fe:Invalidpointerdequeuedfromfreelist*setabreakpointinmalloc_error_breaktodebug如何解决错误?线程错误并在装有iOS10的iPad上运行。 最佳答案 一个应用程序是1个进程和N个线程。如果一个线程崩溃,整个应用程序就会崩溃。在Xcode中显示BreakpointNavigator(在左侧)。然后单击最左下角的+并选择SymbolicBreakpoint...最后在Symbol字段中填写mallo

ios - NS自动释放池。什么时候适合创建一个新的自动释放池?

在iOS/CocoaTouch上,我经常看到在方法中创建NSAutoreleasePool新实例的代码。我最近在NSOperation中看到了一个。设置NSAutoreleasePool新实例的基本规则是什么?为什么这比简单地依赖在main.m中创建的预先存在的释放池更可取?谢谢,道格 最佳答案 您可以随时使用新的自动释放池,但这并不总是有益的。每当您启动一个新线程或该线程中自动释放的对象将被泄漏时,它都是必需的。在创建和自动释放大量对象的方法中创建新的自动释放池也很常见。例如,如果您有一个在50次迭代中的每一次迭代中创建10个对象

ios - 硬件相关 NSDateFormatter dateFromString : bug (returns nil)

我有几个日期字符串需要转换为NSDates。我的解析代码如下:NSString*s=[pairobjectForKey:@"nodeContent"];NSDateFormatter*f=[[NSDateFormatteralloc]init];[fsetDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZ"];self.date=[fdateFromString:s];以上代码在我们测试过的所有设备和模拟器中都运行良好。奇怪的是,当上面的代码在任何运行iOS6.1或7.0.x的iPhone5上运行时,行self.date=[fdateFromString:s];每

objective-c - NS代码 : encoder and decoder for primitive types

我试图为我的模型类创建一个通用的编码器和解码器。我试图找到一种方法来为所有类型的属性调用“编码方法”,无论是对象(NSString、NSNumber、NSArray等)还是原始类型。我看到有人在做以下事情。我想知道这是否是一种正确的方法。属性:@property(assign,nonatomic)intintegerP;@property(assign,nonatomic)floatfloatP;@property(assign,nonatomic)BOOLboolP;编码器和解码器代码:-(void)encodeWithCoder:(NSCoder*)encoder{idobject

ios - 警告 "Pointer is missing a nullability type specifier"的原因是什么?

+(UIColor*)getColorWithHexa(NSString*)hexString;:这是我类(class)中的一个方法定义。它引起了警告。出现类似警告的原因是什么?如何解决?我返回一个UIColor对象,而该问题与block相关,在注释中给出。所以,这很有帮助。 最佳答案 NS_ASSUME_NONNULL_BEGIN/END:AnnotatinganypointerinanObjective-Cheaderfilecausesthecompilertoexpectannotationsfortheentirefile

javascript - 溢出-y :hidden IOS issue with inner scrolling div

我正在构建一个响应式网站,它的叠加层从侧面滑出。问题出在移动设备上,这些叠加层需要能够滚动,但我不希望后面的页面滚动。在桌面设置overflow:hidden可以阻止页面滚动,但仍然允许滑出div滚动。但是,在IOS中,此属性不起作用。基本页面仍然可以滚动。我在下面创建了一个jsbin。有人能告诉我如何让黑色div在IOS上滚动但阻止基页滚动吗?它在桌面上运行良好,但在移动设备上运行不佳。http://jsbin.com/isayuy/4/谢谢 最佳答案 您必须将此添加到您的CSS:html{height:100%;overflow

c++ - NS3 : how to setup RcvBufSize for each TCP session?

我必须运行两个具有不同RcvBufSize的TCPsession。我知道以下代码可以为所有TCPsession设置RcvBufSize。Config::SetDefault("ns3::TcpSocket::RcvBufSize",UintegerValue(1500000));实际上,我正在寻找类似setsockopt()的函数为每个TCPsession设置SO_RCVBUF。我也试过垂头丧气Ptr至Ptr,但是SetRcvBufSize()是私有(private)函数...有什么办法可以解决这个问题吗? 最佳答案 我改变了Snd