当我用Sprite Kit创build一个新的OS X“游戏”项目,并在任何地方设置断点时,我可以看到variables值就好了: 然后我改变代码来导入我自己的框架(TilemapKit),这是一个纯粹的Objective-C框架: import SpriteKit import TilemapKit class GameScene: SKScene { override func didMoveToView(view: SKView) { print("dang!") } } 没有其他的变化。 我甚至没有使用任何TilemapKit代码(还)。 当断点触发时,我看到这个: 只要观察variables值,整个项目就停止可debugging。 这种行为是完全一致的。 没有框架导入我可以再次debugging。 由于我在Xcode 7 beta(7A121l)和OS X 10.11开发者预览版上,我知道这可能只是一个(临时的)错误。 命令行Tiles设置为使用Xcode 7.0版本btw。 我试图在框架目标中启用模块,确保部署目标是相同的(10.11),禁用符号剥离。 我添加了一个Bridging Header,并在其中导入了TilemapKit框架(在这种情况下,除去Swift导入将仍然给我不可debugging的应用程序,所以它似乎没有关系如何或在哪里我导入框架)。 有没有人有什么可能导致这种行为的build议,我怎么可能去解决它 – 或者至less我怎么可以试图缩小这个问题? 是罪魁祸首更可能连接到项目与框架的构build设置? 我是否需要在应用程序项目中启用某些function才能使其与ObjC框架兼容? (我已经在其他链接器标志中获得了-ObjC) 更新: 我在debugging控制台中运行了po self ,发现这个通知: <built-in>:3:6: error: module 'TilemapKit' was built in directory '/TilemapKit.framework' […]
我刚刚开始编程,并在线教程,我无法创build此animation。 谁能告诉我为什么这么说: 无与预期的参数typesUIViewAnimationOptions不兼容 以及如何解决它? view.addSubview(myFirstLabel) UIView.animateWithDuration(0.5, delay: 0.0, usingSpringWithDamping: 0.0, initialSpringVelocity: 0.0, options: nil, animations: { self.myFirstLabel.center = CGPoint(x: 100, y:40 + 200) }, completion: nil)
刚刚下载的Xcode 7testing版,这个错误出现在enumerate关键字。 for (index, string) in enumerate(mySwiftStringArray) { } 任何人都可以帮我克服这个? 另外,似乎count()不再用于计算String长度。 let stringLength = count(myString) 在上面一行,编译器说: “count”不可用:访问集合上的“count”属性。 苹果是否已经发布了Swift 2.0的编程指南?
我将我的项目语法切换到Swift 2.2(xCode帮助我自动执行); 不过,我不明白新的#selector()语法。 举个例子: timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: #selector(MyVC.timerCalled(_:)), //new selector syntax! userInfo: nil, repeats: true) 这有select器#selector(MyVC.timerCalled(_:)) _:是什么意思? 你可以添加其他variables到这个select器? 说, #MyVC.timerCalled(_:whateverVar) 。 不同于早期版本的Swift的基于string的实现,在这个语法中有什么不同的一般信息非常感谢。
我有下面的代码,我很困惑这个错误消息: 实例成员'mydate'不能用于'TableViewController'types 码: class TableViewController: UITableViewController { let mydate = NSDate() let items = [ (1, 9, 7, "A", mydate), (2, 9, 7, "B", mydate), (3, 9, 7, "C", mydate), (4, 9, 7, "D", mydate) ] 当我写下面的,我可以build立它,但我不知道为什么奥德代码片段不工作: class TableViewController: UITableViewController { let mydate = NSDate() let items = [ (1, 9, 7, "A", nil), (2, […]
我正在尝试通过Facebooklogin用户。 在以前的版本的迅速1.2一切正常,但移植后,我似乎无法通过我的FB帐户login我仍然得到错误说: -canOpenURL:URL失败:“fbauth:// authorize /?client_id = …错误:”此应用程序不允许查询scheme fbauth“ 你能帮我吗?
在Swift 2.0中,你将如何去sorting一个属性的自定义对象数组? 我知道在Swift 1.2中,这是使用sorted()和sort()完成的。 但是,这些方法在Xcode 7 beta 4中不再有效。谢谢! 例如: class MyObject: NSObject { var myDate : NSDate } … let myObject1 : MyObject = MyObject() //same thing for myObject2, myObject3 var myArray : [MyObject] = [myObject1, myObject2, myObject3] //now, I want to sort myArray by the myDate property of MyObject.
根据UIKit diff文档 ,在ios9 / Swift 2中 var text: String! 已成为var text: String? 根据UITextField的文档,它特别说 This string is @"" by default. 我不明白这个改变的目的。 如果文本字段根本不存在,该属性是不是总是空string? 这个字段在什么时候返回一个空string? 一旦用户与它交互? 一旦它被添加到视图层次? 它什么时候返回nil ? 如果文本字段首先存在,那么假设文本属性也是一样安全的? 这似乎会导致很多查找/replace.text到.text! 我不知道文档中提到的是什么,所以也许有人会为了这个改变而有一些背景或帮助。
不知道这里发生了什么,这似乎应该是非常简单的。 我有一个可变的协议,一个带有变异函数的扩展。 当我试着在扩展中声明mtkAnimQueAppend时,事情在testClass.testFunc中出现,我得到这个错误: “不能在不可变的值上使用变异成员:'self'是不可变的。 protocol MTKAnimateValueDelegate { var mtkAnimQue:[MTKAnimateValue]? {get set} } extension MTKAnimateValueDelegate { ///Adds element to que mutating func mtkAnimQueAppend(element:MTKAnimateValue) { if mtkAnimQue != nil { mtkAnimQue?.append(element) } else { mtkAnimQue = [element] } } } class testClass: MTKAnimateValueDelegate { var mtkAnimQue:[MTKAnimateValue]? func testFunc() { var animValue = MTKAnimateValue(fromValue: 10, toValue: 20, inSeconds: […]
以下用于Swift 1.2中的工作: var recordSettings = [ AVFormatIDKey: kAudioFormatMPEG4AAC, AVEncoderAudioQualityKey : AVAudioQuality.Max.rawValue, AVEncoderBitRateKey : 320000, AVNumberOfChannelsKey: 2, AVSampleRateKey : 44100.0] 现在,它给出了错误: “typesexpression是不明确的,没有更多的上下文”。