草庐IT

material-swift

全部标签

swift - Swift 可选链是从左到右延迟评估的吗?

文档似乎没有提到任何关于可选链评估顺序的明确内容,只是:Multiplequeriescanbechainedtogether,andtheentirechainfailsgracefullyifanylinkinthechainisnil.可能看起来很明显,但我需要确认到底发生了什么,并且认为这可能对其他人有帮助。例如我们能安全地做这种事吗?opVar?.someObject.someMethod(opVar!) 最佳答案 可选链按照您的预期从左到右延迟求值。链中第一个失败的optional停止对该链的任何进一步评估。//Play

ios - 如何在 swift 中使用 AnyObject 将结构转换为对象

在下面的示例中,testString被声明为String的对象,它是一个结构。但是我们可以使用AnyObject作为对象进行分配。结构到对象的转换是如何快速发生的?lettestString:String="HelloWorld"lettestObject:AnyObject=testStringprint("Mytestobject\(testObject)")//thisworks! 最佳答案 Swift和ObjectiveC并不是独立的。在Swift中你可以使用NSString。在您的情况下,在编译期间在testString之

swift - 如何为我的 ScrollView 修复 AutoLayout?

我有一个ViewController,它有一个UIView(ParentView),然后是UIScrollview(ScrollView)。ParentView锚定到ViewController的前导、尾随、顶部和底部。ScrollView锚定到ParentView的前导、尾随、顶部和底部。结构是这样的:-UIView--ParentView---ScrollView然后我创建了一个包含图像和标签的xib文件。xib将动态添加到ScrollView。xib框架的高度和宽度等于ScrollView的高度和宽度。当我在iphone6plus上运行模拟器时,滚动效果很好;xib的宽度正好是屏

swift - (OS X) 如何在用户切换 mac 桌面空间时得到通知

我正在创建一个Mac菜单栏应用程序,我希望在用户切换可见桌面空间(包括外部显示器)时收到通知。这是一个只有菜单栏的应用程序(即没有实际窗口)。我见过几个类似的问题,但似乎没有一个答案对我有用。我看到的大多数答案都涉及在NSWorkspace的通知中心观察NSWorkspaceActiveSpaceDidChangeNotification。我已经尝试在我的AppDelegate中观察这个applicationDidFinishLaunching我有以下代码:NSWorkspace.sharedWorkspace().notificationCenter.addObserver(self

swift - 绘制非线性方程

我有一个非线性方程,我需要绘制它的二维图。我找到了CorePlot等第三方解决方案,但我想知道是否有一种方法可以使用标准的Swift特性来绘制它? 最佳答案 要走的路是CoreGraphics。这并不容易。一个很好的提示,如何执行此操作可能会给您opensourceprojectCharts. 关于swift-绘制非线性方程,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3707

swift - 我如何使用 Cloudkit,swift 从 iCloud 获取当前用户信息

我的问题是如何使用cloudkit从iCloud获取当前登录的用户信息。我想向此用户默认部分添加更多字段并在需要时检索这些数据。我尝试制作新模式来保存用户数据。 最佳答案 可以向CloudKit中的UserrecordType添加额外的字段,但不建议这样做。UserrecordType是一种特殊的recordType,有很多限制。最好创建一个新的记录类型来保存额外的用户设置。然后您可以将CKReference设置为实际的用户recordId。要获取事件用户recordID,请使用CKcontainer函数fetchUserRecor

ios - 在 Firebase/Swift 中检索 5 个最接近的用户的数据量最少的方法?

假设我有一个这样的Firebase设置,但有10,000个用户:"users":{"user1":{"latitude":1234567,"Longitude":7654321,"name":"Name1"},"user2":{"latitude":1234567,"longitude":7654321,"name":"Name2"},"user3":{"latitude":1234567,"Longitude":7654321,"name":"Name3"},"user4":{"latitude":1234567,"Longitude":7654321,"name":"Name4"}

swift - 无法在 Xcode 7.3.1 上使用类型为 'Result<Any>' 的参数列表调用类型为 '(int,int)' 的初始值设定项

在Xcode7.3.1的playground上尝试这个会给我编译错误:Cannotinvokeinitializerfortype'Result'withanargumentlistoftype'(int,int)'不过在Xcode7.3上它运行良好。这是代码:importUIKitpublicenumResult{caseSuccess(T)caseFailure(ErrorType)publicinit(_value:T){self=.Success(value)}publicinit(_error:ErrorType){self=.Failure(error)}}funchand

ios - swift - 检查另一个类中的 uitextfield 是否为空

我想验证父ViewController中容器中的表单。单击父ViewController中的按钮时,如何验证表单(检查所有字段是否不是nil)。该按钮在父ViewController中有一个IBOutlet,它调用表单类的方法。@IBActionfuncsubmitOrder(sender:AnyObject){letformView=FormViewController()formView.getFieldValues()}方法是,funcgetFieldValues(){if(self.nameField.text==""){print("Namefieldisempty")}}s

swift - 以编程方式快速添加 UITableViewCell

我正在尝试以编程方式快速添加UITableViewCells并收到以下错误消息:2016-05-1021:58:41.961appname[28802:2378292]***Terminatingappduetouncaughtexception'NSInternalInconsistencyException',reason:'CouldnotloadNIBinbundle:'NSBundle(loaded)'withname'myCell''我的viewDidLoad中有以下内容:letmyNib=UINib(nibName:"myCell",bundle:nil)tableVie