草庐IT

swift-keypath

全部标签

ios - 如何解锁swift文件(Xcode)?

当我尝试在Xcode7.1的辅助编辑器中编写内容时,出现一条错误消息,提示我无法更改代码(无法解锁),因为我不拥有它!你知道如何让我访问它吗? 最佳答案 我这样做解决了我的问题在您的Finder中转到包含该项目的文件夹。右键单击>获取信息转到“信息”Pane底部,单击小锁,在出现提示时输入密码。然后,将自己的权限更改为读+写。单击下面的小齿轮,并应用到所有随附的项目。完成后关闭锁!或在BUILDOPTIONS下将“CompilerforC/C++/Objective-C”的值更改为DefaultCompiler

ios - 单元测试网络调用(失败测试)-Swift

我正在尝试为我的网络调用编写失败的测试,但无论如何都无法从我的测试中找到访问连接设置的方法。此代码适用于测试成功案例:functestRetrieveProducts(){letexpectation=expectationWithDescription("asynchronousrequest")Requests().retrieveProducts({(products)->()in//checkthatwehavetwoarraysreturned.XCTAssert(products.count==2)expectation.fulfill()}){(error)->()inX

swift - 如何快速将 ManagedObjectContext 传递给 Root View Controller

我在AppDelegate之外创建了一个单独的CoreDataStack.swift对象,以便在使用CoreData时遵循此处的大部分建议。但是如何将MOC传递给AppDelegate中的rootViewController?我需要向AppDelegate或ViewController添加代码吗?感谢任何可以在Swift中帮助我的人,因为很多旧的ObjC都不适合我!我的CoreDataStack包括MOClazyvarmanagedObjectContext:NSManagedObjectContext={letmanagedObjectContext=NSManagedObjectC

arrays - 使用 Swift 将声音文件推送到数组

我有一个正在开发的Iphone键盘扩展,当单击一个字符时,键盘会播放声音。我想为我的buttonPresssed功能随机化声音。到目前为止,我只能为该功能提供一种声音,并且能够让spacePressed功能播放另一种声音。本质上,我希望buttonPressed函数可以播放数组中的随机声音。提前谢谢你...importUIKitimportAVFoundationclassKeyboardViewController:UIInputViewController{varkeyboardView:UIView!//soundsvarsound1=NSURL(fileURLWithPath:

ios - 在 Swift 中创建灵活的 API 类

我正在尝试为应用程序设计一个API辅助函数。我的想法是我将能够从viewController调用该函数,使用如下代码:letapi=APIController();api.request("get_product_list")api.delegate=self这是目前的类(class):importFoundationprotocolAPIControllerProtocol{funcdidReceiveAPIResults(originalRequest:String,status:Bool,data:String,message:String)}classAPIController

ios - Swift NSJSONSerialization.JSONObjectWithData() 无法仅读取 "OK"字符串的数据

这可能是我遇到过的最奇怪的事情。我们已经决定继续前进,但我想发一篇文章来尝试理解。所以我从我们的服务器获取了一些JSON数据,除了字符串“OK”之外,一切似乎都工作正常。函数如下:funcgetRequest(token:String,url:String,callback:(NSDictionary)->()){letrequest=NSMutableURLRequest(URL:NSURL(string:url)!)request.HTTPMethod="GET"request.setValue("Bearer\(token)",forHTTPHeaderField:"Author

swift - 键入时将文本附加到文本字段

我有一个文本字段,用户可以在其中输入他们的体重。文本字段以无文本开头。一旦用户开始输入,我希望文本字段显示“当前输入的数字”+“LB”。例如,当输入我的体重180磅时:编辑前:textfield.text=nil用户输入1:textfield.text="1LBs"用户输入8:textfield.text="18LBs"用户输入0:textfield.text="180LBs" 最佳答案 首先你需要导入UITextFieldDelegate。classmyClass:UITextFieldDelegate然后在viewDidload

swift - 相等运算符是否意味着强制展开?

注意最后两行:varoptionalString:String?//niloptionalString=="A"//false//optionalString!=="A"//EXC_BAD_INSTRUCTIONoptionalString="A"//“A”optionalString=="A"//trueoptionalString!=="A"//true这是否意味着我们不需要在比较时解包一个可选的? 最佳答案 这是==运算符的定义,看起来它在这种情况下被使用:publicfunc==(lhs:T?,rhs:T?)->Bool您看

ios - 在 Swift 中使用 if let 语法解包双可选(类型??)?

这个问题在这里已经有了答案:Howtounwrapdoubleoptionals?(7个答案)关闭7年前。如果我尝试编译以下代码,它将在print上失败行。funcfoo(application:UIApplication){ifletwindow=application.delegate?.window{print(window.frame)//SYNTAXERROR}}原因是window的类型是UIWindow?,不是UIWindow:error:valueofoptionaltype'UIWindow?'notunwrapped;didyoumeantouse'!'or'?'?我

ios - 捕捉手势识别器开始状态的 Swift 惯用方法

iOS手势识别器在不同的状态之间移动。在第一个开始状态捕获引用状态是很常见的(至少对我而言)。在ObjectiveC中,这可能类似于:-(void)pan:(UIPanGestureRecognizer*)pan{staticNSTimeIntervaloriginalBegin;staticNSTimeIntervaloriginalEnd;staticCGFloatoriginalYOffset;if(pan.state==UIGestureRecognizerStateBegan){originalBegin=self.timeAxis.begin;originalEnd=sel