草庐IT

ios - 实例变量在 ViewDidLoad() 处重置为 nil

我有一个继承自UIViewController的对象。在这个对象中,我有一个包含用户配置文件的实例变量(类型:UserProfile)。我在ViewDidLoad()之前设置了这个变量,但是一旦我输入它,变量就会重置为nil...这是我的代码:classMapViewController:UIViewController{varuserProfile:UserProfile!requiredinit(coder:NSCoder){super.init(coder:coder)}overrideinit(){super.init()}overrideinit(nibNamenibName

ios - Swift 委托(delegate)返回 nil

我尝试从UITableViewCell中调用UIAlertController。我有我的代表protocolDEPFlightStripCellDelegate{funccallAlert(AlertCon:UIAlertController!)}我在下面的TableViewCell类中调用了它。classDEPFlightStripCell:UITableViewCell{vardelegate:DEPFlightStripCellDelegate?@IBActionfuncchangeClearedFlightLevel(sender:UIButton){letAddAlert:U

swift - 从 .plist 读取总是返回 nil

我所有从plist读取的尝试都返回了一个nil值,我在Xcode6和Xcodebeta7上以多种方式尝试过这个。此外,还有相当多的堆栈上有几个类似的问题,我已经尝试了很多,但没有一个能解决这个问题。我通过点击添加了我的words.plist:{myproject}>targets>buildphases>copyBundleResources然后我在我的ViewController中尝试了以下代码的几种变体:overridefuncviewDidLoad(){super.viewDidLoad()//Doanyadditionalsetupafterloadingtheview,typ

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()}但是,如果