草庐IT

macos - NSWindow 返回 nil (NSApplication)

我遇到了无法访问应用程序主窗口的问题,因为它返回nil。letwindow=NSApplication.sharedApplication().mainWindow我发现了类似的问题:HowtogetMainWindow(AppDelegate)fromotherclass(subclassofNSViewController)?但是在做:letwindow=(NSApplication.sharedApplication()as!NSArray).objectAtIndex(0)好像也没用。我必须在Storyboard中乱搞吗?提前致谢。更新:我实际上是在尝试从Objective-C

ios - swift如何处理内存中的nil值

我知道ARC在设置(强)引用时使用引用计数和编译器插入的递增和递减操作。它会在对象的最后一个引用组超出范围后清除内存。我的问题包含有一个var:varkey=NSData?如果没有值,默认情况下为nil。现在,在我分配它并将值重新分配给nil之后-key=NSData()。这会从内存中删除之前存在的数据吗?任何有用的文章将不胜感激。 最佳答案 当你写作时varkey=NSData?key变量被创建到Stack中,并为其分配了一个nil值。假设接下来您将一个对象分配给keysokey=NSData()现在,一个类型为NSData的对象

swift - 在 Swift 字典扩展中检查 nil 值

我在playground文件中有以下代码:extensionDictionary{functest(){forkeyinself.keys{self[key]}}}vardict:[String:AnyObject?]=["test":nil]dict.test()此后我将for-each循环中的行称为输出,因为它是相关的。在此特定实例中,输出为nil。当我将for-each循环更改为如下所示时:forkeyinself.keys{print(self[key])}输出是"Optional(nil)\n"。我真正想做的是检查nil的值,但是代码:forkeyinself.keys{se

swift - 可选类型 'Bool' 不能用作 bool 值;改为测试 '!=nil'

optionaltype'Bool'cannotbeusedasaboolean;Testfor'!=nil'instead我在第一个if时遇到错误,通过替换if条件(after),第二个if条件从未运行。任何想法?之前:if(userEmail?.isEmpty||userPassword?.isEmpty||userRepeatPassword?.isEmpty){displayMyAlertMessage("Allfieldsarerequired")return}if(userPassword!=userRepeatPassword){displayMyAlertMessage

swift - "contentsOfFile"返回nil,可能原因

以下在获取csv文件的内容时返回nil。但是,将csv表减少到10行将正常工作,输出csv文件的内容。原始的csv有大约400,000个字符排列在500行和11列中。是什么导致它在原始csv中返回nil?letdbPath="/Volumes/Gios2TWD/myDB.csv"varerror:NSError?letcsvContent=NSString(contentsOfFile:dbPath,encoding:NSUTF8StringEncoding,error:&error)asString!println(csvContent)println(error)我正在运行XCod

swift - NSDateComponents Formatter string 从日期(到,toDate :) returns nil

问题为什么string为零?letformatter=NSDateComponentsFormatter()letreferenceDate=NSDate(timeIntervalSinceReferenceDate:0)letintervalDate=NSDate(timeInterval:3628810,sinceDate:referenceDate)letstring=formatter.stringFromDate(referenceDate,toDate:intervalDate)我希望返回类似“6w10s”的字符串。(6周是3,628,800秒。)尝试故障排除为了排除故障,

Swift - 在带有可选参数的泛型函数中将 Nil 作为参数

我正在尝试创建一个可以接受可选参数的通用函数。这是我到目前为止所拥有的:funcsomethingGeneric(input:T?){if(input!=nil){print(input!);}}somethingGeneric("Hello,World!")//Hello,World!somethingGeneric(nil)//Errors!如图所示,它适用于String,但不适用于nil。将它与nil一起使用会产生以下两个错误:error:cannotinvoke'somethingGeneric'withanargumentlistoftype'(_?)'note:expect

swift - 捕获任何错误,特别意外地在 swift 中发现 nil

如何捕获任何错误,我指的是任何类型,包括fatalerror、异常、任何类型...在其他语言中,我们会使用try、catch,但是do、catch在包装nil值时不起作用。但为什么?真的为什么? 最佳答案 如果我需要解包许多可选值,例如在处理Any值的集合时,编写多个guardlet或iflet并不方便语句。相反,我使用do-try-catch来处理nil。为此,我使用了这个简单的unwrap片段:publicstructUnwrapError:Error,CustomStringConvertible{letoptional:T?

ios - 如何正确处理 nil UIApplication.sharedApplication().keyWindow

当viewDidLoad被调用时,View应该被加载。但我总是在UIApplication.sharedApplication().keyWindow为nil时崩溃...我应该把我的代码放在哪里,以便在加载View后调用它,而不是每次用户返回时调用它(出于这个原因,我已经排除了viewWillAppear)? 最佳答案 情况1:-在App的委托(delegate)中手动创建UIWindow在将其设置为键之前,您可能以某种方式将UIViewController添加到UIWindow中。您应该在创建窗口后在应用的委托(delegate)

ios - PHCacheImageManager.requestAVAsset(forVideo :. ..) 返回 nil AVAsset

我正在使用[PHCachingImageManager]在CollectionView中缓存视频。我可以显示使用缓存管理器生成的图像,但无法提取AVAssets。我尝试使用.requestAVAsset(forVideo:...)方法获取AVAsset,但返回到结果处理程序的[asset]为零。尝试解开返回的[asset]时出现错误。我还查看了返回到结果处理程序的[audioMix]和[info]参数,它们为零很好。有谁知道我在这里做错了什么/遗漏了什么?viewDidLoad(){letvideosAlbum=PHAssetCollection.fetchAssetCollectio