Tag: 迅速

如何在Swift中使用Objective-C代码和#definemacros

我正在尝试在我的Swift项目中使用第三方的Objective-C库。 我已经成功地将库导入到了Xcode中,并且创build了一个<Project>-Bridging-Header.h文件,允许我在Swift中使用Objective-C类。 我似乎遇到了一个问题:Objective-C代码包含一个带有macros#define AD_SIZE CGSizeMake(320, 50)的macros的Constants.h文件。 将Constants.h导入我的<Project>-Bridging-Header.h不会导致我的Swift应用程序可以使用的全局常量AD_SIZE 。 我做了一些研究,看到“复杂的macros”下面的苹果文档说 “在Swift中,可以使用函数和generics来获得与复杂macros相同的结果,而不会有任何妥协。 因此,C和Objective-C源文件中的复杂macros不能用于Swift代码。“ 读完之后,通过在Swift中指定let AD_SIZE = CGSizeMake(320, 50) ,我可以很好地工作,但是如果这些值在我不知情的情况下改变,我想保持与库的未来兼容性。 有没有一个简单的解决这个在Swift或我的桥接头? 如果没有,是否有办法replaceConstants.h的#define AD_SIZE CGSizeMake(320, 50) ,并保持与使用旧的AD_SIZEmacros的现有Objective-C应用程序向后兼容?

打字机效果文本animation

我试图用UILabel创build一个打字机animation效果,但是找不到任何答案。 UILabel是否是正确的对象? 我想要文本打印到屏幕上的string数组,如“login…打开文件夹…重新启动系统..”等我应该提到,我是新来的编码,我试过search文档和API参考,但没有运气。 如果值得一提的话,我现在正在学习SWIFT

从完成处理程序返回值 – Swift

我在一个实用工具类中使用loadImage方法,并通过闭包返回图像时遇到一些麻烦。 基本上,因为我的代码可能会返回一个图像或错误,调用方法时将其分配给图像属性将无法正常工作。 我在方法声明中使用的方法是错误的,还是应该以不同的方式调用方法来预测潜在的不同结果? 谢谢 public class UtilitiesService: NSObject { public class func loadImage(urlString:String) { var imgURL: NSURL = NSURL(string: urlString)! let request: NSURLRequest = NSURLRequest(URL: imgURL) NSURLConnection.sendAsynchronousRequest( request, queue: NSOperationQueue.mainQueue(), completionHandler: {(response: NSURLResponse!,data: NSData!,error: NSError!) -> Void in if error == nil { self.returnImage(data) } }) } public class func returnImage(imageData: NSData) -> UIImage { […]

?? 运算符在Swift中

在“Swift编程语言”一书(第599页)中,我遇到了这样的代码片段,使我感到困惑。 它是这样的: func buyFavoriteSnack(person:String) throws { let snackName = favoriteSnacks[person] ?? "Candy Bar" try vend(itemName:snackName) } 其解释是: buyFavoriteSnack(_ :)function查找给定的人最喜欢的零食,并试图为他们购买。 如果他们没有一个喜欢的小吃上市,它试图买一个糖果。 如果他们… 这个解释怎么能映射到“??” 运营商在给出的代码。 我们应该/我们可以在我们自己的代码中使用这个语法吗?

如何使用Swift将图像上传到iOS服务器?

它不会工作,如何将图像从iOS Swift应用程序发送到我的PHP服务器? @IBAction func upload(sender: UIButton) { var imageData = UIImageJPEGRepresentation(img.image, 90) // println(imageData) let url = NSURL(string:"http://www.i35.club.tw/old_tree/test/uplo.php") //let cachePolicy = NSURLRequestCachePolicy.ReloadIgnoringLocalCacheData //var request = NSMutableURLRequest(URL: url, cachePolicy: cachePolicy, timeoutInterval: 10) var request = NSMutableURLRequest(URL: url) request.HTTPMethod = "POST" // set Content-Type in HTTP header let boundaryConstant = "———-V2ymHFg03esomerandomstuffhbqgZCaKO6jy"; let contentType = "multipart/form-data; boundary=" + […]

我如何做indexOfObject或一个适当的containsObject

用数组:我怎么做indexOfObject或一个正确的containsObject ? 我的意思是我知道我可以将数组连接到NSArray ,并在那里做^^ 但是这样做肯定有一种“本土的”方式 PS为containsObject我想我也可以过滤数组,但对于indexOf ?

在objective-c中导入swift类,找不到<myModule> -Swift.h文件

我有一个用Objective-C编写的iOS项目。 我在项目中创build了一个Swift类,在Swift中访问objective-c的桥接头文件已经成功生成,并且工作正常。 我的问题是相反的。 我想在Objective-C代码中导入Swift类。 在xcode中, 目标 – >构build设置 – > Swift编译器部分,我看到Objective-C Generated Interface Header Name字段值myModule-Swift.h ,但是当我在我的Objective-C类中导入此标题: #import "myModule-Swift.h" 我得到编译器错误: myModule-Swift.h file not found 而在项目中,我也找不到这个文件。 我怎么解决这个问题? 我的xcode版本是6.4

'Set <NSObject>'没有一个名为'anyObject'的成员 – Xcode 6.3

我正在检查是否已经select了一个元素。 func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) { // First, see if the game is in a paused state if !gamePaused { // Declare the touched symbol and its location on the screen let touch = touches.anyObject! as? UITouch let location = touch.locationInNode(symbolsLayer) 而这之前已经在Xcode 6.2中编译好了,但是在6.3更新的时候,“let touch = touches.anyObject!as?UITouch”就是抛出这个错误: 'Set'没有名为'anyObject'的成员 我已经阅读了许多类似的问题,但我似乎无法绕过我的头。“要使用这个值,你需要先”解开“它。 特别是因为答案似乎集中在通知。 非常感谢。 w ^

我如何在Swift中做弱链接?

在Objective-C中,如果我想要使用一个只存在于新版iOS中的特定类,我会这样做: if( [UIBlurEffect class] ) { // do something with UIBlurEffect } else { // gracefully fallback to old behavior } 不过,相当于Swift: if UIBlurEffect.self != nil { let blur: UIBlurEffect = UIBlurEffect(…) // … else { // … } // also occurs with NSClassFromString("UIBlurEffect") 不具有相同的function。 如果在NSNewFeature可用的环境中运行,一切都很好。 但是如果这个类没有被定义,那么在启动应用程序时就会出现链接错误: dyld: Symbol not found: _OBJC_CLASS_$_UIBlurEffect 那么如何在Swift中做弱链接呢? 编辑添加UIBlurEffect作为具体的例子。

在Swift子类中添加便捷初始化器

作为一个学习练习,我试图实现一个SKShapeNode的子类,它提供了一个新的方便初始值设定项,它使用一个数字并构造一个数字宽度和高度的正方形的ShapeNode。 根据Swift书 : 规则1 如果你的子类没有定义任何指定的初始值设定项,它将自动inheritance它的所有超类指定的初始值设定项。 规则2 如果你的子类提供了它所有超类指定的初始化方法的实现,或者按照规则1inheritance它们,或者提供一个自定义实现作为其定义的一部分,那么它将自动inheritance所有的超类方便初始化方法。 但是,下面的类不起作用: class MyShapeNode : SKShapeNode { convenience init(squareOfSize value: CGFloat) { self.init(rectOfSize: CGSizeMake(value, value)) } } 相反,我得到: Playground execution failed: error: <REPL>:34:9: error: use of 'self' in delegating initializer before self.init is called self.init(rectOfSize: CGSizeMake(value, value)) ^ <REPL>:34:14: error: use of 'self' in delegating initializer before self.init is […]