Swift
allanGold
这个作者很懒,什么都没留下…
展开
-
swift 闭包捕获列表
有关,所以会打印出”I drive Benz”。变量,此时将会打印出 “I drive Tesla”是个局部变量,不再与外面的。原创 2024-03-04 15:25:45 · 634 阅读 · 0 评论 -
【Swift】【json】通过json字符串直接生成swift实体类
swift json生成实体类文件原创 2023-11-09 14:17:07 · 454 阅读 · 0 评论 -
如何让你的Xcode来帮你把swift3代码转到swift4代码
Xcode 9 & Xcode 8.3.# both versions supports Swift 3.2. If your existing project has default language Swift 3.2, then it will work in Xcode 9, with minor changes. But if your project has support o...转载 2018-04-14 14:36:04 · 6768 阅读 · 0 评论 -
Swift4 中NSFontAttributeName废弃报错问题
使用方式是NSAttributedStringKey.font 替代 NSFontAttributeNameextension NSAttributedStringKey { @available(iOS 6.0, *) public static let paragraphStyle: NSAttributedStringKey // NSParagraphStyle, defaul...转载 2018-04-14 14:26:49 · 3384 阅读 · 0 评论 -
swift func 前加 class 和static的区别与联系
在方法的func关键字之前加上关键字static或者class都可以用于指定类方法.不同的是用class关键字指定的类方法可以被子类重写, 如下: override class func work() { print("Teacher: University Teacher")}但是用static关键字指定的类方法是不能被子类重写的, 根据报错信息: Class method ove...转载 2018-03-22 11:29:13 · 2742 阅读 · 0 评论 -
在Swift中如何获取一个变量的类型
(lldb) po object_getClass(allKanjis)▿ Optional<AnyObject.Type> - some : Swift._SwiftDeferredNSArray(lldb) po type(of: allKanjis)Swift.Array<KanjiList.Kanji>转载 2018-03-15 22:22:16 · 3759 阅读 · 0 评论 -
Swift与C语言指针友好合作
Objective-C和C的API常常会需要用到指针。Swift中的数据类型都原生支持基于指针的Cocoa API,不仅如此,Swift会自动处理部分最常用的将指针作为参数传递的情况。这篇文章中,我们将着眼于在Swift中让C语言指针与变量、数组和字符串共同工作。用以输入/输出的参数指针C和Objective-C并不支持多返回值,所以Cocoa API中常常将指针作为一种在方法间传递额外数据的方式...转载 2018-02-27 10:10:24 · 287 阅读 · 0 评论 -
Swift中如何在闭包中在对self进行强应用防止闭包中的延时操作获取不到self
Weak-Strong Dance In Swift——如何在 Swift 中优雅的处理闭包导致的循环引用Objective-C 作为一门资历很老的语言,添加了 Block 这个特性后深受广大 iOS 开发者的喜爱。在 Swift 中,对应的概念叫做 Closure,即闭包。虽然更换了名字,但是概念和用法还是相似的,就算是副作用也一样,有可能导致循环引用。下面我们用一个例子看一下,首先我们需要第一...转载 2018-04-23 15:45:44 · 2506 阅读 · 0 评论 -
Xcode 9.3 Module compiled with Swift 4.0.2 cannot be imported in Swift 4.1:
When using the pre-built Realm Swift framework in Xcode 9.3, you will receive a message like: 'Module compiled with Swift 4.0.2 cannot be imported in Swift 4.1:'We are in the process of addressing thi...转载 2018-04-13 18:32:58 · 3728 阅读 · 0 评论 -
insetBy使用
insetBy(dx: CGFloat, dy: CGFloat) -> CGRect 点击头文件进去 可以发现它是返回的一个CGRect insetBy方法是CGRect 的一个方法dx后面的参数代表X轴的偏移 正数是向X轴正方向移动(即像右移动) 负数是向X轴负方向移动(即像左移动)dy后面的参数代表Y轴的偏移 正数是向Y轴正方向移动(即像下移动) 负数是向Y轴负方向移动(即像上移动...转载 2018-01-24 14:08:48 · 1547 阅读 · 0 评论 -
Swift - 如何对浮点数进行取余(取模)
使用 truncatingRemainder 方法进行浮点数取余let value1 = 5.5let value2 = 2.2 let result = value1.truncatingRemainder(dividingBy: value2)注意方法返回值仍然是浮点型,运行效果如下:1.1...转载 2018-01-24 14:05:00 · 3474 阅读 · 0 评论 -
Swift - 实现NSRange与Range的相互转换
相较于 OC 的 NSRange,Swift 的 Range 更加复杂,用法也有很大的区别。虽然通常来说我们在 Swift 中使用 Range 就可以了,但有些情况下还是要使用 NSRange,比如创建富文本的时候。下面演示如何实现 NSRange 与 Range 的相互转换。1,扩展String,增加转换方法为方便使用,这里对 String 做个扩展,增加两个新方法实现二者的转换。extensi...转载 2018-01-23 17:54:26 · 4251 阅读 · 1 评论 -
swift 中关于open ,public ,fileprivate,private ,internal,修饰的说明
关于 swift 中的open ,public ,fileprivate,private, internal的区别 以下按照修饰关键字的访问约束范围 从约束的限定范围大到小的排序进行说明open,public,fileprivate,private,internal 这几个修饰词的作用是用于修饰访问级别的。、open,public 对应的级别是该模块或者是引用了该模块的模块可以访问 即 a...转载 2019-06-11 15:20:44 · 340 阅读 · 0 评论 -
Alamofire中的单元测试用例如何使用
https://github.com/Alamofire/Alamofire打开Alamofire.xcodeproj文件,找到每个XCTest文件比如这个是测试数组参数,点击方法名前面行号出的即可开始单元测试...原创 2019-08-12 18:46:51 · 262 阅读 · 0 评论 -
Swift 3.0中不安全的世界
原文链接就像大多数现在的变成语言一样,在 Swfit 中你就像生活在一个幸福的世界中,这里的内存被额外的部分所管理,而像这样的内存管理语言的编译和运行要么就像 Swift 一样,要么他运行的好坏取决于他的垃圾回收机制。而这些我们所提到的这些隐藏在编程语言中的,你不必要去或者很少的情况下你需要去思考这些问题。然而由于 Swift 的多样性的特点,你可能需要调用一个危险的 C 的 Api 比如说 Op...转载 2018-02-27 10:05:07 · 245 阅读 · 0 评论 -
关于在swift中怎么使用MJExtension
1. 对于模型中还有其他模型类属性的情况:只要在属性的冒号之后把对应的模型类写上即可2. 对于属性中有id为名的属性,在该模型的类实现以下代码overridestaticfunc mj_replacedKeyFromPropertyName() -> [AnyHashable :Any]? { return ["ID" :"id"] }原创 2018-01-06 12:33:20 · 2922 阅读 · 0 评论 -
Swift 闭包中 self? 的由来
class UIViewSpringAnimator: SwipeAnimator { // 动画完成的闭包 var completion:((Bool) ->Void)? func addCompletion(completion:@escaping (Bool) ->Void) {原创 2017-05-05 09:35:20 · 1791 阅读 · 0 评论 -
如何要在Swift工程中调用OC文件 以及 如何调用某个类的方法
1.导入你需要的.h .m文件2.创建 项目名称-Bridging-Header.h 文件3.在该.h文件中导入你得 需要的 .h文件4.到Build Settings -> Swift Compiler - General ->Objective-C Bridging Header 选项输入一下路径./项目名称/ 索引到你的 项目名称-Bridging-Header.h 文转载 2017-04-28 15:37:09 · 779 阅读 · 0 评论 -
Swift runtime
分析用例我们拿一个纯Swift类和一个继承自NSObject的类的类来做分析,这两个类里包含尽量多的Swift的类型比如Character、String、AnyObject、Tuple。 代码如下: 方法、属性动态性比较重要的一点就是能够拿到某个类所有的方法、属性,我们使用如下代码来打印方法和属性列表。调用showClsRunti转载 2017-05-03 18:21:47 · 666 阅读 · 0 评论 -
如何在OC类里 调用swift类
一、OC调用swift文件 在OC项目中创建一个swift文件的时候,Xcode 会提示 需要创建一个桥接文件,点确定创建桥接文件,Xcode会自动创建一个桥接文件名字:工程名-Bridging-Header.h这个桥接文件是 swift 调用OC文件的时候用的1、 进入TARGETS ->Build Settings -> Packaging 中转载 2017-05-04 14:41:18 · 2437 阅读 · 0 评论 -
Swift required
http://www.thinksaas.cn/topics/0/440/440373.htmlhttp://blog.csdn.net/zhangchunxinzcx/article/details/52325169http://www.jianshu.com/p/009c8c558274转载 2017-05-04 18:38:22 · 797 阅读 · 0 评论 -
Xcode8 和 Swift 颜色 图片(即视功能)
Color Literal一般写颜色大概是这样的:let color = UIColor(red: 100/255.0, green: 150/255.0, blue: 200/255.0, alpha: 1)但是如果不 ? + R ,我不知道这颜色到底长什么样。接下来使用 Color Literal 看看如下图,我要给 view 设置一个背景颜色,输入 color转载 2017-05-05 10:17:11 · 1996 阅读 · 0 评论 -
Swift 中CGAffineTransform的写法
button.transform = .init(scaleX:0.5, y: 0.5) button.transform =CGAffineTransform.init(scaleX:0.5, y: 0.5)因为CGAffineTransform 其实是oc里的原创 2017-05-05 13:49:17 · 2970 阅读 · 0 评论 -
Swift 手动导入百度地图
只需要在 General 下Linked Frameworks and Libraries 中导入各个framework即可Embedded Binaries 无需导入 否则会报出 什么failed to load info.plist的错误运行不了程序原创 2017-05-17 15:50:51 · 641 阅读 · 0 评论 -
swift 教程
http://swift.gghttps://github.com/SwiftGGTeam/the-swift-programming-language-in-chinese/blob/gh-pages/source/chapter2/01_The_Basics.mdswift官方文档:https://swift.org/documentation/斯坦福视频https...原创 2017-05-18 18:36:24 · 419 阅读 · 0 评论 -
swift 添加main入口文件 略谈
现在通过 xcode8 创建的swift工程是没有main文件的 因为在AppDelegate的文件中 @UIApplicationMainclass AppDelegate:UIResponder, UIApplicationDelegate {这样进行了注解那么问题来了,如果想要实现自己的main文件该怎么办呢?i原创 2017-04-27 18:49:46 · 2099 阅读 · 0 评论 -
Swift for循环 一边遍历一边删除
1.要遍历数组同时拿到下标值和元素,可通过元祖进行遍历1.1 定义数组一个字符串数组如下let array: [String] = ["a","b","c","d"]1.2 利用元祖进行遍历 for (index,value) in array.enumerated() { print转载 2017-08-02 16:23:42 · 4557 阅读 · 0 评论 -
Swift开发必备技巧:内存管理、weak和unowned
原文:https://docs.swift.org/swift-book/LanguageGuide/AutomaticReferenceCounting.html#Swift开发必备技巧:内存管理、weak和unowned因为 Playground 本身会持有所有声明在其中的东西,因此本节中的示例代码需要在 Xcode 项目环境中运行。在 Playground 中可能无法得到正确的结果。...转载 2017-09-13 17:40:40 · 460 阅读 · 0 评论 -
窥探Swift之别样的枚举类型
想必写过程序的童鞋对枚举类型并不陌生吧,使用枚举类型的好处是多多的,在这儿就不做过多的赘述了。Fundation框架和UIKit中的枚举更是数不胜数,枚举可以使你的代码更易阅读并且可以提高可维护性。在Swift语言中的枚举可谓是让人眼前一亮。在Swift中的枚举不仅保留了大部分编程语言中枚举的特性,同时还添加了一些好用而且实用的新特性,在本篇博客中将领略一些Swift中枚举类型的魅力。有小转载 2017-09-13 18:45:10 · 319 阅读 · 0 评论 -
Swift JSON 教程:使用 JSON
我的实践:let res :NSString ="{\"errid\":0,\"errmsg\":\"ok\"}"let data :Data = res.data(using:String.Encoding.utf8.rawValue)!guardlet dataDic =try?JSONSerialization.json转载 2018-01-05 14:41:11 · 542 阅读 · 0 评论 -
swift中的有用的编译符号以及Debug模式下的打印/Release模式下不打印
在Swift中,编译器为我们准备了几个很有用的编译符号。符号 名称 描述#file String 包含这个符号的文件的路径#line Int 符号出现处的行号#column Int 符号出现处的列#function String 包含这个符号的方法名字func printLog(message: T, file: String = #file, me转载 2018-01-16 17:33:43 · 574 阅读 · 0 评论 -
Swift3.0带来的变化汇总系列一——字符串与基本运算符中的变化
http://blog.csdn.net/u012903898/article/details/52865690?locationNum=14&fps=1一、引言 Apple与今年6月13日正式发布了Swift3.0的第一个预览版本,并且相应推出了Xcode8的第一个bate版本。开发者已经可以在Xcode8bate版上来体验Swift3.0的新特性。首先,Swift3.0确实带来转载 2017-03-03 13:54:27 · 370 阅读 · 0 评论