你将收获

零基础、手把手学习iOS开发!

掌握iOS开发日常工作中的大多数知识点!

适用人群

iOS开发初学者、从别的平台转过来的开发者、打算进入iOS移动开发领域、追逐人生梦想的朋友!

课程介绍

【课程特点】

学习iOS开发,请选本套课程,理由如下:

1、180节大容量课程:包含了iOS开发中的大部分实用技能;

2、创新的教学模式:手把手教您iOS开发技术,一看就懂,一学就会;

3、贴心的操作提示:让您的眼睛始终处于操作的焦点位置,不用再满屏找光标;

4、语言简洁精练:瞄准问题的核心所在,减少对思维的干扰,并节省您宝贵的时间;


【课程内容】

本视频教程拥有180节课程,包含iOS开发的方方面面:iOS开发基础理论知识、 视图、视图控制器、多媒体、数据处理、常用插件、信用卡卡号识别、自动化测试、网络访问、多线程、ShareSDK社会化分享、CoreImage、CoreText、CoreML机器学习、ARKit增强现实、面部检测、Storyboard技巧、关键帧动画、本地通知、陀螺仪相机定位设备、本地化、通过IAP内购实现营利、App上传与审核等超多干货! 

课程目录

学员评价

5.0
  • 100%
  • 0%
  • 0%
  • 0%
  • 0%
  • weixin_41856627 2020-04-23 16:56

    5.0分

    请问源码、課件哪里可以下载????????????

  • leonSchneider 2020-04-20 13:35

    5.0分

    请问源码哪里可以下载呀?????????

  • 2020-04-16 10:27

    5.0分

    第五章第十课有代码被挡住了,没展示全!!!

查看更多评价

同学笔记

  • u011739424 2020-06-16 16:49:04

    来源:解析Json文档 查看详情

  • weixin_42449083 2020-04-16 20:53:55

    来源:NSKeyedArchiver存储和解析数据 查看详情

    ViewController.swift

     

    import UIKit

     

    class ViewController: UIViewController {

     

        override func viewDidLoad() {

            super.viewDidLoad()

            //创建一个模型对象并对其进行归档和恢复归档操作

            //初始化刚定义的对象模型

            let user1 = UserModel()

            //设置对象名称和密码属性值

            user1.name = "Jerry"

            user1.password = "123"

            //添加异常捕捉语句,用来执行归档和恢复归档操作

            do {

                //创建一个可变二进制数据对象,用来存储归档后的模型对象。归档指的是将Swift对象存储为一个文件或网络上的一个数据块

                let data = try NSKeyedArchiver.archivedData(withRootObject: user1, requiringSecureCoding: true)

                //将归档的数据存储在程序包的Preference目录

                UserDefaults.standard.set(data, forKey: "user1")

                UserDefaults.standard.synchronize()

                

                //对归档数据进行加载和恢复归档操作

                //读取刚刚保存的数据

                let dataFrom = UserDefaults.standard.data(forKey: "user1")

                //恢复归档操作,恢复成内存中一个Swift对象

                let savedUser = try NSKeyedUnarchiver.unarchiveTopLevelObjectWithData(dataFrom!) as? UserModel

                print(savedUser?.name ?? "")

                print(savedUser?.password ?? "")

            }

            catch {

                print("Archive error.")

            }

            // Do any additional setup after loading the view.

        }

    }

     

    UserModel.swift

     

    import Foundation

    //创建基本对象模型

    //创建一个继承自NSObject的类并遵循NSCoding协议。遵循该协议的类可以被序列化和反序列化。这样可以归档到磁盘上或分发到网络上

    class UserModel: NSObject, NSCoding, NSSecureCoding {

        //为对象模型添加姓名和密码两个属性

        static var supportsSecureCoding: Bool = true

        var name: NSString!

        var password: NSString!

        //添加一个序列方法用来对模型对象进行序列化操作

        func encode(with aCoder: NSCoder) {

            //对模型对象的姓名和密码属性进行编码操作,并设置对应的键名

            aCoder.encode(self.name, forKey: "name")

            aCoder.encode(self.password, forKey: "password")

        }

        //添加另一个来自协议的方法用来对模型对象进行反序列化操作

        required init(coder aDecoder: NSCoder) {

            super.init()

            //对模型对象的姓名和密码属性进行解码操作

            self.name = aDecoder.decodeObject(forKey: "name") as? NSString

            self.password = (aDecoder.decodeObject(forKey: "password") as! NSString)

        }

        //重载父类的初始化方法

        override init() {

        

        }

    }

  • weixin_42449083 2020-04-16 09:23:54

    来源:通过代码创建Plist文件 查看详情

            //通过编码的方式创建属性列表文件Plist

            //初始化一个可变字典对象作为属性列表内容的容器

            let dic:NSMutableDictionary = NSMutableDictionary()

            //设置属性列表文件的内容,即添加一对键值

            dic.setObject("Bruce", forKey: "Name" as NSCopying)

            //继续添加属性列表文件的键值对象

            dic.setObject("22", forKey: "Age" as NSCopying)

            //生成属性列表文件在项目中的存储路径

            let plistPath = NSHomeDirectory() + "/Documents/PlistDemo.plist"

            //将可变字典对象写入到指定位置的的属性列表文件

            dic.write(toFile: plistPath, atomically: true)

            //读取并显示保存的列表属性文件

            //首先加载属性列表文件并转化为可变字典对象

            let data:NSMutableDictionary = NSMutableDictionary.init(contentsOfFile: plistPath)!

            //将字典对象转化为字符串对象

            let message = data.description

            print(message)

没有更多了