草庐IT

ios - 如何以编程方式正确初始化 ViewController? loadView() vs init(nibName : nil, bundle: nil)

我想知道从代码初始化ViewController的正确方法是什么。没有xib或Storyboard。我知道两种方法。覆盖loadView()overridefuncloadView(){view=UIView()commonInit()//someinit}或提供init()init(){super.init(nibName:nil,bundle:nil)commonInit()//someinit}requiredinit?(coderaDecoder:NSCoder){fatalError("init(coder:)hasnotbeenimplemented")}如果我们提供ini

swift - 当我试图解释 nil 时,我忽略了什么?

我已经多次重读Swift文档,但恐怕我忽略了这里的一些简单内容。如果字段caloriesConsumed.text中有值,下面的函数处理得很好并正确调用updateCalorieBalance方法。但是,当然,如果caloriesConsumed.text为nil,就会崩溃。我收到的错误消息是:fatalerror:在展开可选值时意外发现nil。非常感谢您的帮助。@IBActionfuncbuttonThree(sender:AnyObject){varcalConsumed:String?ifletcalConsumed=caloriesConsumed.text{calorieCo

ios - 委托(delegate)返回 nil tvOS

我想从很长一段时间里弄清楚。有人能告诉我为什么我的委托(delegate)方法从未被调用过吗?它是一个tvOS项目,但我相信它应该像简单的iOS应用程序一样工作。单击按钮时,我有一个弹出TableView,在选择时,我试图用选定的选项更新按钮标签。protocolPopupSelectionHandlerProtocol{funcUpdateSelected(data:String)}classPopupViewController:UIViewController,UITableViewDataSource,UITableViewDelegate{@IBOutletweakvarmy

ios - prepareForSegue Swift 时发现 nil

我完全不确定为什么会这样。当我尝试使用prefpareForSegue时,我得到“在展开可选值时意外发现nil”。我知道这意味着什么以及它发生在哪里,但我不知道为什么。我的代码中标记的任何一行都发生了错误。我已经测试了值dateText和currentDate并且都不是nil。overridefuncprepareForSegue(segue:UIStoryboardSegue,sender:AnyObject?){varDestViewController:CreatePostScrollViewController=segue.destinationViewControlleras

swift - AWS Cognito credentialsProvider.login 始终显示 NIL (SWIFT)

我正在尝试使用AWSCognito实现Facebook登录。从Facebook收到访问token后,我无法更新凭据提供程序。lettoken=FBSDKAccessToken.currentAccessToken().tokenStringcredentialsProvider.logins=[AWSCognitoLoginProviderKey.Facebook.rawValue:token]在此之后,如果我打印[AWSCognitoLoginProviderKey.Facebook.rawValue:token]我得到长字符串但是如果我打印credentialsProvider.l

swift - 在非可选变量上应用 Nil-Coalescing 运算符时,它不会触发任何错误

Thenil-coalescingoperator(a??b)unwrapsanoptianlaifitcontainsavalue,orreturnsadefaultvaluebifaisnil.Theexpressionaisalwaysofanoptionaltype.TheNil-Coalescingoperatorisshorthandforthecodebelowa!=nil?a!:b然后我尝试了以下测试代码片段//Firstleta:Int=3,b:Int=4a??b//Noerror&//Secondleta:Int=3,b:Int=4a!=nil?a!:b//Trig

swift - MailComposeViewController 错误 : unexpectedly found nil

我正在尝试将我发送的电子邮件的电子邮件地址和时间保存到表格View中。电子邮件发送正常,但每当我单击发送按钮时,我都会收到此错误(错误:在展开可选值时意外发现nil)。我不确定我的代码中的错误在哪里。发送按钮的代码://SentEmailsArrayvarsentEmails=[emailObject]()//DefaultemailvarsentEmailTo="email@email.com"//DismissButtonsforMailComposerfuncmailComposeController(controller:MFMailComposeViewController,

ios - URLForResource() 总是返回 nil,swift 2.3,iOS10

我正在尝试测试一些东西,并且需要访问与测试类位于同一目录中的文件(实际上在子目录中)。我正在尝试这样做:letfileURL=testBundle.URLForResource("MasterCalendar",withExtension:"ics",subdirectory:"Calendars")我也这样试过:letfileURL=testBundle.URLForResource("MasterCalendar",withExtension:"ics")我的类(class)叫做ParserTest。我试图访问的文件位于如下所示:我试图获取文件路径:ifletfilePath=NS

ios - awakeFromNib 中的变量为 nil

我创建了一个自定义UIView,我用一个对象ConnectDetailItem对其进行了实例化。我的自定义View代码:classInfosConnectView:UIView{varview:UIView!@IBOutletweakvarcategorie:UILabel!@IBOutletweakvardistance:UILabel!@IBOutletweakvarfollowers:UILabel!@IBOutletweakvardescriptionTextView:UITextView!varconnectDetailsItem:ConnectDetailsItem!con

swift - 对象是 nil,尽管它是在 init 中设置的

我有一个名为navigator的对象,我在init中设置了它。我打开它以确保它已设置好。但是,当IBAction函数linkBut​​tonClicked被调用并尝试使用导航器时,我得到一个nil异常。为什么?classHomeCollectionViewCell:UICollectionViewCell{letappDelegate:AppDelegate!letnavigator:Navigator!@IBOutletweakvarlinkButton:UIButton!vardestinationView:String?varparentViewController:UIView