
swift学习
文章平均质量分 70
番薯大佬
码农一枚
展开
-
swift开发心得
201706201、类型转换,即强制转换类型格式为:类型(变量);如:var age:Int = 10let money:Double = 32.33age = Int(money)2、nil在swift中与OC中的区别Swift 的 nil 和 Objective-C 中的 nil 并不一样。在 Objective-C 中,nil 是一个指向不存在对象的指针。在 Swift ...原创 2020-04-08 16:22:31 · 745 阅读 · 0 评论 -
swift中使用宏定义(使用let常量,或enum枚举,或函数)
习惯了OC开发的朋友都知道,宏定义在研发工作中是必不可以的,可是当你使用swift开发时,也想使用宏定义,这时修改却发现没办法使用#define xxxx,或static NSString *const xxx进行定义。这是什么情况?这是因为在swift中命名空间的缘故,即整个项目共享命名空间,决定了不能使用宏定义语法的。为了实现类似于OC中的宏定义,可以添加一个空的Const.swift文件原创 2017-05-15 15:21:53 · 2305 阅读 · 0 评论 -
swift中UITableView的使用(常规使用)
源码:https://github.com/potato512/SYSwiftLearning// MARK: - 初始化tableview func setUI(){ // 初始化tableView self.mainTableView = UITableView(frame:self.view.bounds,style:UITab原创 2016-10-20 17:32:49 · 592 阅读 · 0 评论 -
swift中UITableView的使用(分组功能,类似于QQ群组)
https://github.com/potato512/SYSwiftLearning// MARK: - 数据func setLocalData(){ self.mainArray = NSMutableArray() for number in 1...10 { let rowA原创 2016-10-20 17:36:10 · 2364 阅读 · 0 评论 -
swift中UITableView的使用(编辑模式)
https://github.com/potato512/SYSwiftLearningoverride func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. self.naviga原创 2016-10-20 17:40:00 · 1348 阅读 · 0 评论 -
swift中UIWebView的使用
https://github.com/potato512/SYSwiftLearning// 实例化self.webview = UIWebView(frame: CGRectMake(0.0, CGRectGetHeight(segment.frame), CGRectGetWidth(self.view.bounds), (CGRectGetHeight(self原创 2016-10-20 18:00:56 · 3033 阅读 · 0 评论 -
swift中UITableView的使用(索引功能)
https://github.com/potato512/SYSwiftLearning像手机中的联系人通讯录,在联系人列表的右侧有个字母索引,然后通过点击字母索引,就可以快速定位到以该字母为首字母的联系人分组。效果图如下:实现列表视图的索引功能,主要在于设置索引标题,以及实现索引代理方法。具体代码如下所示:// 定义变量var mainTableView原创 2016-10-21 10:37:55 · 4494 阅读 · 0 评论 -
swift中UIScrollView的使用(常规使用,以及contentInset属性设置)
github学习地址:https://github.com/potato512/SYSwiftLearning效果图:关键源码func setUI(){ let mainScrollView = UIScrollView(frame: self.view.bounds) // 添加到父视图 self.vie原创 2016-10-31 18:15:14 · 7559 阅读 · 0 评论 -
swift中UICollectionView的使用(headerview/footerview/cell/model)
github学习地址:https://github.com/potato512/SYSwiftLearning效果图源码// MARK: - 数据func setLocalData(){ self.mainArray = NSMutableArray() for number in 1...5 {原创 2016-11-08 14:05:41 · 12385 阅读 · 0 评论 -
swift中UIImagePickerController的使用(相册、图库)
源码:UIImagePickerController主要用来选择图片,或是拍照,或是录像。其中图片选择时,既可以从相册选择,也可以从图库选择。但不管是选择图片,还是拍照,还是录像都是通过设置属性"sourceType"来实现的。需要注意:在使用过程中可能会出现UIImagePickerController的标题和按钮的字体为英文,可以通过修改配置信息实现中文显示。原创 2016-10-19 16:53:07 · 8708 阅读 · 0 评论 -
swift中extension的使用
swift开发定义某个类的扩展类时,使用关键字extension。extension SomeType { // 加到SomeType的新功能写到这里}// 一个扩展可以扩展一个已有类型,使其能够适配一个或多个协议,语法格式如下:extension SomeType: SomeProtocol, AnotherProctocol { // 协议实现写到这里}创建方法原创 2016-10-19 12:28:37 · 1689 阅读 · 0 评论 -
swift中UINavigationController的使用
// 导航视图控制器标题self.navigationItem.title = "navigationController" // 导航视图控制器样式self.navigationController!.setNavigationStyleDefault() // 导航视图控制器左按钮self.navigationItem.leftBarButtonIte原创 2016-10-18 16:49:42 · 666 阅读 · 0 评论 -
swift中UIViewController的使用
UIViewController视图控制器在iOS研发中不可或缺,基本上每一个页都的研发都会使用到。在使用过程中,主要使用了以下几个方面。1、视图控制器的属性设置。如背景颜色,适配,视图控制器数组属性等2、视图控制器的生命周期的控制3、视图控制器间的转场present,或push,以及相对应的dismiss,或pop……// MARK: - 适配func autoSize原创 2016-10-18 15:42:43 · 4336 阅读 · 0 评论 -
swift中UITabbarController的使用
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { // Override point for customization after application launch.原创 2016-10-17 09:20:48 · 5080 阅读 · 0 评论 -
swift中UISegmentController的使用
let segment = UISegmentedControl(frame: CGRectMake(10.0, 10.0, (CGRectGetWidth(self.view.bounds) - 10.0 * 2), 40.0))self.view.addSubview(segment) segment.backgroundColor = UIColor.lightGrayC原创 2016-09-30 14:28:46 · 4020 阅读 · 0 评论 -
swift中UIActivityIndicatorView的使用
// 实例化let activityview = UIActivityIndicatorView(frame: CGRectMake(10.0, 10.0, 50.0, 50.0))self.view.addSubview(activityview) activityview.backgroundColor = UIColor.yellowColor() ac原创 2016-09-30 11:34:42 · 2613 阅读 · 0 评论 -
swift中UISwitch的使用
// 实例化(注意:默认宽高是 51 x 31。指定大小无效)let switchview = UISwitch(frame: CGRectMake(10.0, 10.0, 0.0, 0.0))self.view.addSubview(switchview)switchview.backgroundColor = UIColor.yellowColor() // 打开时背景原创 2016-09-30 11:03:45 · 2420 阅读 · 0 评论 -
swift中UIProgressView的使用
默认高度是2.0。自定义高度无效,可通过transform属性设置高度// 实例化(默认高度是2.0。自定义高度无效,可通过transform属性设置高度)let progressview = UIProgressView(frame: CGRectMake(10.0, 10.0, (CGRectGetWidth(self.view.bounds) - 10.0 * 2), 10.0))原创 2016-09-30 11:17:53 · 2325 阅读 · 0 评论 -
swift中UIScrollView的使用(结合pageControl,timer计时的使用)
github学习地址:https://github.com/potato512/SYSwiftLearning效果图关键源码func setUI(){ self.setScrollViewUI() self.setPageControlUI()}func setScrollViewUI(){ self.mainScrollV原创 2016-11-01 09:29:00 · 1960 阅读 · 0 评论 -
swift中NSUserDefault的使用
学习网址:https://github.com/potato512/SYSwiftLearning效果图代码源// 保存,或修改func saveInfo(name:String){ if (0 <= name.characters.count) { let userDefault = NSUserDe原创 2016-11-21 18:06:46 · 4640 阅读 · 1 评论 -
swift中NSTimer的使用
github:https://github.com/potato512/SYSwiftLearningswift中使用NSTimer,效果图如下:代码示例:// 定义常量let tagLabel = 1000;// 定义变量var timer:NSTimer!;var count:NSInteger = 0;// 实例化方法func createNSTimer(){原创 2017-04-20 22:50:34 · 4140 阅读 · 0 评论 -
swift中的网络请求——NSURLSessionDataTask
学习地址:https://github.com/potato512/SYSwiftLearning效果图在swift中使用NSURLSessionDataTask进行网络编程。// NSURLlet url:NSURL = NSURL(string:"http://rapapi.org/mockjsdata/22598/userloginGet")!// NSURLRequ原创 2017-07-18 11:36:20 · 1769 阅读 · 0 评论 -
swift中的网络请求——NSURLConnection
学习地址:https://github.com/potato512/SYSwiftLearning效果图在swift中使用NSURLConnection进行网络请求// NSURLlet url:NSURL = NSURL(string:"http://rapapi.org/mockjsdata/22598/userloginGet")!// 请求(可以改的请求)let原创 2017-07-18 11:35:12 · 837 阅读 · 0 评论 -
swift中的动画
UIView的通用动画let view = UIView(frame: CGRectMake(10.0, 10.0, 100.0, 40.0))self.view.addSubview(view)view.backgroundColor = UIColor.lightGrayColor()// 位置改变var frame = view.frameUIView.animateWithDura原创 2017-07-14 17:51:37 · 1018 阅读 · 0 评论 -
swift中闭包block的使用
使用闭包block的方式,一是定义成函数方式,二是定义成属性变量。方法1:定义成属性变量// 1 // block定义typealias BlockTarget = (String) -> (Void)// 定义成变量var blockTarget:BlockTarget?// self.blockTarget = { text -> Void in p原创 2017-06-26 18:01:52 · 827 阅读 · 0 评论 -
swift中的手势
手势操作主要包括如下几类 手势 属性 说明 点击 UITapGestureRecognizer numberOfTapsRequired:点击的次数;numberOfTouchesRequired:点击时有手指数量 设置属性 numberOfTapsRequired 可以实现单击,或双击的效果 滑动 UISwipeGestureRecognizer direction:原创 2017-07-14 14:22:03 · 901 阅读 · 0 评论 -
swift中array数组的使用
数组使用有序列表存储同一类型的多个值,且相同的值可以多次出现在一个数组的不同位置中。数组会强制检测元素的类型,如果类型不同则会报错,Swift数组应该遵循像Array这样的形式,其中Element是这个数组中唯一允许存在的数据类型。如果创建一个数组,并赋值给一个变量,则创建的集合就是可以修改的。这意味着在创建数组后,可以通过添加、删除、修改的方式改变数组里的项目。如果将一个数组原创 2016-09-18 14:27:00 · 3260 阅读 · 0 评论 -
swift变量的可选(Optional)类型
Swift变量的可选(Optional)类型,用于处理值缺失的情况。可选表示"那儿有一个值,并且它等于 x "或者"那儿没有值"。当你声明一个可选变量或者可选属性的时候没有提供初始值,它的值会默认为nil。如果一个可选类型的实例包含一个值,你可以用后缀操作符!来访问这个值。但使用操作符!去获取值为nil的可选变量会有运行时错误。你可以用可选链接和可选绑定选择性执行可原创 2016-09-18 13:44:31 · 1208 阅读 · 0 评论 -
swift常量的定义使用
常量一旦设定,在程序运行时就无法改变其值。常量可以是任何的数据类型如:整型常量,浮点型常量,字符常量或字符串常量。同样也有枚举类型的常量:常量类似于变量,区别在于常量的值一旦设定就不能改变,而变量的值可以随意更改。常量声明:常量使用关键字 let来声明,而变量使用关键字 var来声明 常量的命名1、可以由字母,数字和下划线组成。原创 2016-09-18 13:46:32 · 1513 阅读 · 0 评论 -
swift中character字符与string字符串的使用
// 字符串的定义// 1 使用字符串字面量var name = "DevZhang"print(name)// 2 String 实例化name = String("Hello, DevZhang")print(name)// 字符串追加字符串name = name + ".where are you from?"print(name)// 是否包含子串let range =原创 2016-09-18 14:21:23 · 7840 阅读 · 0 评论 -
swift中代码生成纯色图片
使用自定义的颜色生成图片class func imageWithColor(color:UIColor) -> UIImage{ let rect = CGRect(x: 0.0, y: 0.0, width: 1.0, height: 1.0) UIGraphicsBeginImageContext(rect.size) let contex原创 2017-06-16 14:11:01 · 2927 阅读 · 0 评论 -
swift中UIAlertView的使用
// 方法1let alertView = UIAlertView(title: alertTitle, message: alertMessage, delegate: nil, cancelButtonTitle: alertCancel)alertView.show()// 方法2// 实例化时添加代理对象(注意添加协议)let alertView = UIAlertView(tit原创 2016-09-27 15:31:52 · 4507 阅读 · 0 评论 -
swift中UIView的扩展使用
github学习地址:https://github.com/potato512/SYSwiftLearning扩展类代码:import UIKitextension UIView{ // MARK : 坐标尺寸 var origin:CGPoint { get { return self.frame.ori原创 2017-05-18 11:31:58 · 958 阅读 · 0 评论 -
swift中常用宏定义
github学习地址:https://github.com/potato512/SYSwiftLearning// MARK: - 设备信息/// 当前app信息let GetAppInfo = NSBundle.mainBundle().infoDictionary/// 当前app版本号let GetAppCurrentVersion = NSBundle.mai原创 2017-05-18 11:28:20 · 4218 阅读 · 2 评论 -
swift中的沙盒路径(包含自定义文件路径)
github学习地址:https://github.com/potato512/SYSwiftLearning效果图:代码示例:/// home沙盒主目录路径let pathHome = NSHomeDirectory();print("home沙盒主目录路径:\(pathHome)")/// temp临时目录let pathTemp = NSTempor原创 2017-05-17 16:49:39 · 1170 阅读 · 0 评论 -
swift中通知NSNotificationCenter的使用
github学习地址:https://github.com/potato512/SYSwiftLearning使用通知注意事项:(1)接收通知前必须先移除掉通知,避免只发一次通知时,却出现两次或多次的响应事件;(2)使用通知的类在被释放时,必须要移除通知;效果图:代码示例:func sendNotification(){原创 2017-05-17 16:24:03 · 4845 阅读 · 0 评论 -
Swift中的UIColor使用(随机颜色、自定义颜色)
https://github.com/potato512/SYSwiftLearningswift中使用UIColor时,除了使用系统自带的颜色外,还可以自定义随机颜色,或按照指定颜色值&透明度进行设置颜色。效果图:源代码:/// 设置随机颜色class func UIColorRandom() -> UIColor{ let color: UICo原创 2017-05-15 12:22:29 · 10574 阅读 · 0 评论 -
swift中UISearchBar的使用
// 实例化let searchbar = UISearchBar(frame: CGRectMake(10.0, 10.0, (CGRectGetWidth(self.view.frame) - 10.0 * 2), 40.0))self.view.addSubview(searchbar) searchbar.backgroundColor = UIColor.yello原创 2016-09-30 10:42:14 · 2729 阅读 · 0 评论 -
swift中UISlider的使用
let slider = UISlider(frame: CGRectMake(10.0,10.0, (CGRectGetWidth(self.view.bounds) - 10.0 * 2), 20.0))self.view.addSubview(slider)slider.backgroundColor = UIColor.lightGrayColor()// 设置值(默认值为0.0,且值原创 2016-09-30 10:36:52 · 4679 阅读 · 0 评论 -
swift的访问控制
访问控制是指可以限定其他源文件或模块中代码对你代码的访问级别。你可以明确地给单个类型(类、结构体、枚举)设置访问级别,也可以给这些类型的属性、函数、初始化方法、基本类型、下标索引等设置访问级别。协议也可以被限定在一定的范围内使用,包括协议里的全局常量、变量和函数。Swift通过关键字public、internal、private,为代码中的实体提供了三种不同的访问级别。原创 2016-09-26 15:55:26 · 461 阅读 · 0 评论