草庐IT

about_nil

全部标签

ios - 这会导致崩溃吗?或者我们也可以在 Swift 中向 nil 发送消息......?

我正在努力了解Swift并产生疑问。ifletcn=respObj["cabNumber"].stringwhere!cn.isEmpty{booking.cabNumber=cn}我知道这会检查字符串是否为nil但是如果响应对象中没有cabNumber键和对象对,在这种情况下会发生什么。我们正在使用SwiftyJSON。 最佳答案 必须是:ifletcn=respObj["cabNumber"]as?Stringwhere!cn.isEmpty{booking.cabNumber=cn}在那里,表达式letcn=respObj["

Swift 3/iOS 10/TodayExtension - UserDefaults 总是返回 nil

这是我在这个网站上的第一个问题。我有一个无法解决的问题。我正在开发一个带有today扩展的简单笔记应用程序。我在Swift2.2和iOS9中没有问题。问题只出现在iOS10上的Swift2.3和Swift3中。我遇到的问题如下:用户可以写笔记(保存在UserDefaults中)并打开通知中心并在TodayExtension中查看他的笔记。我有这些方法可以在UserDefaults中保存注释并从UserDefaults中检索它(我正在使用组,所以在我的应用程序和扩展的功能中,一切都设置好了-此外,我的对象当然需要NSCoding方法):openclassNoteManager:NSObj

objective-c - 为什么swift语言不能提供nil来释放内存

当我们在Objective-c中工作时,当我们想要释放或释放对象时,我们可以这样做,例如:NSMutableArray*arr;[arrremoveAllObjects];arr=nil;arr=[[NSMutableArrayalloc]init];我们可以做到这个和那个对象被释放。那么为什么在swift语言中没有办法做到这一点我们只能这样做:arr.removeAllObjects()arr=NSMutableArray()我不明白对象如何通过这种方式释放或释放内存。 最佳答案 首先,如果您将变量声明为可选变量,则可以将其设置为

ios - url(forUbiquityContainerIdentifier) 返回 nil

我正在尝试获取我的容器ID的url,但该方法一直返回nil。我做了以下事情:在Xcode功能中启用iCloud键值存储。在物理设备上进行测试。iCloud和iCloudDrive在物理设备中打开。确保将iCloudKey-ValueStore添加到权利文件中。我的代码是:funcapplication(_application:UIApplication,didFinishLaunchingWithOptionslaunchOptions:[UIApplicationLaunchOptionsKey:Any]?)->Bool{//Overridepointforcustomizatio

ios - alamofire post 方法中的 response.result.value 为 nil

letparametersDictionary=["email":"name@gmail.com","password":"password"]Alamofire.request("http://nanosoftech.com/store/user_check",method:.post,parameters:(parametersDictionaryasNSDictionary)as?Parameters,encoding:JSONEncoding.default,headers:nil).responseJSON{responseinprint("response:",respon

swift - 使用不存在的 rawValue 初始化的枚举不会失败并返回 nil

我在playground(Xcode9.0.1)中有以下代码:importMapKitenumTest:UInt{casefirstcasesecondcasethird}lettest=Test(rawValue:4)asAnyprint(test)//nillettype=MKMapType(rawValue:999)print(type==nil)//falseprint(type!.rawValue)//999MKMapType定义为enumMKMapType:UInt由于MKMapType的最大值为5,我希望枚举的初始化程序失败并返回nil。相反,它返回999。我是否在这里遗

swift - 如何检查一个表达式中 Optional 是否不为 nil 且属性是否为真?

使用Swift,我有一个NSStatusItem,当我单击它时,我想检查NSWindow是否可见。如果是,隐藏它,如果不是,调用一个函数来显示NSWindow。我的NSWindow是我的应用委托(delegate)中的一个类属性,varwindow:NSWindow?。在我响应点击NSStatusItem的方法中,我尝试使用可选链接来执行以下操作:ifself.window?.visible{self.window!.orderOut(self)//orself.window?.orderOut(self),samebehavior}else{displayWindow()}但是,如果

iphone - 如何验证 IBOutlet/var 是否为 nil?

我使用Swift和Xcode6.1.1编写了一个简单的应用程序。该程序是一个简单的计算器,运行良好,但我无法验证三个文本字段的非零输入。因此,如果用户将该字段留空然后点击“计算”,应用程序就会崩溃。该应用接受三个输入,最初是字符串。我写了一个if语句来检查nil但它不起作用-无论如何它都会传递给else。这是与我的问题相关的代码块:...@IBOutletvarcalcButton:UIBarButtonItem!@IBOutletvaryearOneField:UITextField!@IBOutletvaryearTwoField:UITextField!@IBOutletvary

ios - Obj-C 框架返回 nil,并使我的 Swift 代码崩溃并显示 'fatal error: unexpectedly found nil while unwrapping an Optional value'

我正在使用用Obj-C编写的第三方框架,它有一个功能:-(NSError*)generateModelForm如果此方法成功,它将返回nil。如果它不返回nil,它将返回一个错误,您可以检查该错误以进行调试。现在,当我使用桥接头在我的Swift文件中调用此函数并执行所有必需的操作时,它总是在第一行崩溃并显示“fatalerror:在展开可选值时意外发现nil”我的Swift代码:ifleterror=object.generateModelForm(){println("Error:\(error)")}else{println("Successfullygeneratedmodelf

ios - Swift 可失败初始化器不能返回 Nil?

我试图在我的可失败初始化器中返回nil,但不断收到错误“类实例的所有存储属性必须在从初始化器返回nil之前初始化”。为什么??这不是可失败初始化器的全部意义所在能够返回nil并停止初始化吗? 最佳答案 显然这是一个将在Swift2.2中修复的错误https://stackoverflow.com/a/26497229/5792198与此同时,您可以使用虚拟数据初始化所有属性并设置标志。在所有初始化代码的末尾检查标志并返回nil。 关于ios-Swift可失败初始化器不能返回Nil?,我们