草庐IT

nil-coalescing

全部标签

iOS:如何检查 "int"值是否等于 "nil"

我在我的方法之一中定义了一个int值:intvalue=[selfsomeMethodThatGetsAnINT];稍后我有一些“ifs”来检查这个值。如何表达:if(value==nil)?当我尝试编写这种直观的代码时,我收到一条警告:语义问题:指针和整数('int'和'void*')之间的比较 最佳答案 nil只是一个0:)试试这个:if(0==value)但是,为什么要针对int测试nil-这里听起来很有趣:) 关于iOS:如何检查"int"值是否等于"nil",我们在StackO

ios - NSDateFormatter dateFromString 返回 nil

我有以下代码:NSDateFormatter*df=[[[NSDateFormatteralloc]init]autorelease];/*2010-11-0220:31:39*/[dfsetDateFormat:@"YYYY-MM-ddhh:mm:ss"];NSDate*date=[dfdateFromString:@"2010-11-0220:31:39"];date为nil。知道为什么吗? 最佳答案 hh符号用于表示1到12之间的小时。使用HH表示1到24之间的小时。此外,还使用​​YYYY对于周数年。您可能需要yyyy。[d

ios - TextField 为空时返回 nil

我正在为iOS7准备我的应用程序,但遇到一个奇怪的问题:当我尝试获取一个空的TextField文本时,我得到“nil”,而在过去它用于返回@""(空字符串)。这是正式更改还是错误?谢谢沙尼 最佳答案 这是iOS6到iOS7的正式变化。文本字段过去返回一个空字符串,但现在您有一个nil字符串。@property(weak,nonatomic)IBOutletUITextField*tf;//iOS6if(![self.tf.textisEqualToString:@""]){//iOS7if(self.tf.text!=nil&&![

objective-c - 如果静态变量在上一行被初始化为 nil,为什么还要检查它是否为 nil?

下面是来自Apple'siOSCoreDatatutorial的代码示例我认为条件语句检查对象是否为nil很奇怪。如果条件语句之前的行将对象设置为nil,对象是否总是计算为nil?//AdateformatterforthetimestampstaticNSDateFormatter*dateFormatter=nil;if(dateFormatter==nil){dateFormatter=[[NSDateFormatteralloc]init];[dateFormattersetTimeStyle:NSDateFormatterMediumStyle];[dateFormatter

ios - NSString 比较 @""== nil

我想比较两个字符串,我希望nil等于空白字符串(@"")。现在我正在这样做,效果很好:if([self.firstName?self.firstName:@""isEqualToString:anotherContact.firstName?anotherContact.firstName:@""]){//Theyareequal.}但似乎我遗漏了一些更简单的东西。我在这里不是要区分大小写。如果大小写不同,则测试应该失败。 最佳答案 [stringlength]有效,但如果它也为nil,它将返回零。如果您可以接受,那就更简单了。顺便

iphone - NSDateFormatter 在凌晨 2 点返回 nil

我正在尝试使用以下代码将字符串转换为NSDate:NSDateFormatter*dateFormatter=[[NSDateFormatteralloc]init];[dateFormattersetTimeZone:[NSTimeZonelocalTimeZone]];[dateFormattersetDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"];NSDate*date=[dateFormatterdateFromString:@"2013-03-10T02:00:00"];它在除02:00:00之外的所有时间都工作正常,如上所示,它返回nil。有什么想

iOS AVPlayer replaceCurrentItemWithPlayerItem :nil block UI Thread

似乎apireplaceCurrentItemWithPlayerItem:会卡住主线程几秒钟,我知道替换项目需要新项目的信息,这可能需要一些时间来预加载。但是问题来了,为什么用nilitemobject替换CurrentItemWithPlayerItem:也会卡住主线程?我碰巧有时需要超过5秒来替换一个nilplayerItem。我想知道我该怎么做才能避免这个问题。感谢您的任何建议! 最佳答案 当我使用UICollectionView通过ALAssetLibrary显示和预览本地照片库中的视频时,我遇到了类似的阻塞UI线程问题。

ios - NSEntityDescription 仅在 iPad Air 7.1 上返回 nil

我最近一直在为我的一个应用程序使用CoreData。奇怪的是,它仅在装有iOS7.x的iPadAir上崩溃。我在物理设备和iOS模拟器上都运行过,它永远不会在Air上崩溃,并且总是在其他地方运行。(它不会在iPadAiriOS8.0上崩溃)崩溃发生在我的一个CoreData调用中,特别是varchildEntity=NSEntityDescription.entityForName(ChildInSessionEntity,inManagedObjectContext:context)varparentEntity=NSEntityDescription.entityForName(P

ios - 在一个函数中返回 self 很快就给了我 nil

我在playground中实现了一个GreetingDelegate协议(protocol),它有一个函数sayHi(假设)和一个符合所述协议(protocol)的类Data。我还有一个名为Class的类,它有一个符合GreetingDelegate的委托(delegate)、另一个sayHi函数和一个确定谁应该响应sayHi的函数。如果Class没有委托(delegate),则触发他自己版本的sayHi函数,但如果委托(delegate)存在,则触发委托(delegate)版本的函数。protocolGreetingDelegate{funcsayHi(name:String)->S

ios - sendAsynchronousRequest 说它在展开可选值时发现 nil

这是我的代码崩溃的部分:letbodyData="username="+username+"&password="+passwordletURL:NSURL=NSURL(string:"URLOFAPHPFILE")!letrequest:NSMutableURLRequest=NSMutableURLRequest(URL:URL)request.HTTPMethod="POST"request.HTTPBody=bodyData.dataUsingEncoding(NSUTF8StringEncoding);NSURLConnection.sendAsynchronousReque