3.0 pdf swift_openstack swift 2.20.0 2.21.0 - CSDN
  • Swift更新至3.0版本. 更新了函数和函数声明章节中关于函数的讨论, 新版本中所有的参数都默认获得一个标签. 指定Attribute参数时,新版本中使用”:”替代之前的”=”. 在Switch分支语句章节中增加对若干switch使用模式...
    • Swift更新至3.0版本.

    • 更新了函数和函数声明章节中关于函数的讨论, 新版本中所有的参数都默认获得一个标签.

    • 指定Attribute参数时,新版本中使用”:”替代之前的”=”.

    • 在Switch分支语句章节中增加对若干switch使用模式的讨论.

    • 异常处理章节中, 增加对catch块内再抛出异常(Rethrowing function) 的讨论

    • 更新line control语句的讨论, 新版本使用#sourceLocation(file:line:)语法.

    • 增加访问Objective-C属性的setter和getter方法对应的selector的内容.

    • 增加对于泛型类型的别名讨论.

    • 更新对inout的讨论, 指出它在参数类型上出现.

    • 更新@noescape@autoclosure, 它们现在是类型修饰, 而非之前的声明修饰.

    • 更新函数类型, 新版本中需要将参数类型用括号括起来.

    • 更新可选协议, 明确它们仅用于和OC交互的代码中.

    • 废止在函数参数中显式使用let的函数声明方式.

    展开全文
  • 1、xcode创建swift项目: File->new->Project....->iOS->Application->Single View Application:

    我的环境:OS X Yosemite(10.10.5)  Xcode 7.1(7B91b)

    1.创建swift项目:

    File->new->Project....->iOS->Application->Single View Application: 创建时选择swift语言,选择路径即可。

    新创建的项目视图在Main.storyboard里编辑,缺省的视图控制器为“View Controller"

    视图控制代码在ViewController.swift类中进行编辑。可通过修改“View Controller"的Custom Class来指定视图控制器的swift类。

    2.修改横坚屏:

    选中项目:General->Deployment info->Device Orientation勾选屏幕模式即可

    3.size classes功能关闭

    在File Inspector中Interface Builder Document中去掉Use Size Classes选项的勾选


    4、国际化支持 I18N

    在项目的PRPJECT ->info ->Localizations中选+添加需要支持的语言。系统会自动为所有的storyboard添加多语言支持文件。如添加简体中文,会自动产生名为zh-Hans.lproj的文件夹,该文件夹下会存放相应的strings文件。

    如果要对代码添加多语言支持功能,可通过命令行的方式来创建支持文件

    首先进入到项目源文件所在目录:

    genstrings *.swift -o zh-Hans.lproj

    这条命令为所有swift文件生成一个名为(待续)


    5、去掉状态栏 (StatusBar)

    首先在storyboard中选中要编辑的view controller,在attribute中将status bar设置为None

    然后在项目TARGETS的General的Deployment中将 Hide status bar勾选

    然后在代码中添加

    overridefunc prefersStatusBarHidden() ->Bool {

            return true

        }

        

        override func preferredStatusBarStyle() ->UIStatusBarStyle {

            returnUIStatusBarStyle.LightContent

        }

    即可完美的去掉单个页面的status bar.


    在info.plist中将status bar is initially hidden设置为YES


    6、一些报错的处理方法:

    通过http下载图片时报错,处理方法如下:

    “App TransportSecurity has blocked a cleartext HTTP (http://) resource load since it isinsecure. Temporary exceptions can be configured via your app's Info.plistfile.”
    ATS禁止了HTTP的明文传输,因为它不安全。可以修改Info.plist文件,让它临时允许明文传输。
    解决办法:
    在Info.plist文件中添加"App Transport SecuritySettings", Type为"Dictionary",再添加"Allow Arbitray Loads", Type 为"Boolean",“Value”为“YES”即可。


    7、store_search的教程中关闭单个view的auto-layout的写法:

    view.removeConstraints(view.constraints)

            // view.setTranslatesAutoresizingMaskIntoConstraints(true)  原教材的写法

            view.translatesAutoresizingMaskIntoConstraints =true



    button无法显示图片的处理:

    // let button = UIButton.init(type: .System) as UIButton   原教材指定为.system类型将无法显示图片   

                let button = UIButton.init()asUIButton   //即可显示图片

                 downloadImageForSearchResult(searchResult, andPlaceOnButton: button)


    8、添加背景图

    向view中添加image view,选中后Editor->arrange->send to back

    然后在viewWillAppear中设置图片的位置和宽度为屏幕的大小(注意先关闭auto layout)

    override func viewWillAppear(animated:Bool) {

            super.viewWillAppear(animated)

            bgImageView.center =self.view.center

            bgImageView.bounds =self.view.bounds

     }


    9、页面跳转

    新建一个viewcontroller名为MenuViewController,从当前view controller创建一个到山MenuViewController的segue,指定类型为model,设置identifier为“toMenuVC"

    页面跳转的示例如下:

     func jump(){

            print("jump() is loaded")

            

             self.dismissViewControllerAnimated(true, completion: nil)

             self.performSegueWithIdentifier("toMenuVC", sender:nil)

        }

        

        

        override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

            if segue.identifier == "toMenuVC" {

                

            let menuViewController = segue.destinationViewController as! MenuViewController

                menuViewController.getVar = "auto jump"

            }





    展开全文
  • Swift 3.0 环境下使用 AFNetworking 封装网络请求业务类
  • 最新的swift4.0官方中文版, 在swift4.0 中,引入了新的Codable协议,可以让你在不添加其他特殊代码的情况下序列化和反序列化自定义的数据类型,从而不用担心值类型的丢失
  • Swift 3 Object Oriented Programming - Second Edition by Gastón C. Hillar 2017 | ISBN: 1787120392 | English | 254 pages | True PDF | 21 MB Key Features Leverage the most efficient object-oriented ...
  • Swift2.3适配Swift3.0

    2016-09-30 16:40:43
    升级Xcode8.0Beta版,看着公司Swift版本的项目200多个报红,那种酸爽也就苹果能给。慢慢改吧!改的东西很多,但基本都不难,记录几个花费较长时间的Bug。 NO.1【报错】“Use Legacy Swift Language Version” (SWIFT...

    升级Xcode8.0Beta版,看着公司Swift版本的项目200多个报红,那种酸爽也就苹果能给。慢慢改吧!改的东西很多,但基本都不难,记录几个花费较长时间的Bug。

    NO.1

    【报错】“Use Legacy Swift Language Version” (SWIFT_VERSION) is required to be configured correctly for targets which use Swift. Use the [Edit > Convert > To Current Swift Syntax…] menu to choose a Swift version or use the Build Settings editor to configure the build setting directly.

    【解决方法】设置 Build Settings —-> Use Legacy Swift Language Version —-> YES/NO,改为NO或者YES

    NO.2

    【问题】控制台打印出大量无用的信息。

    【解决方法】在 Environment Variables中添加字段 name:OS_ACTIVITY_MODE,value:disable

    NO.3

    【问题】整个项目能编译通过,但在运行时启动页出现后就黑屏

    【解决方法】问题在于,AppDelegate中didFinishLaunchingWithOptions这个方法没有走。虽然是利用系统提供的修复,自动从Swift2.3修复到Swift3,但修复完的这个方法也还是不对的。

    private func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { }

    修改为

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { }

    NO.4

    【报错】“ambiguous referenc to member datask(with: completionhandler:)”

    【解决方法】这个是在URLSessionDataTask中遇到的,属于类型不明确的报错。

    修改前的代码:

    let task: URLSessionDataTask = session.dataTask(with: request) { (data, resp, err) in   }

    修改后的代码:

    let task: URLSessionDataTask = session.dataTask(with: request as URLRequest) { (data, resp, err) in }
    // 由于request是NSMutableURLRequest类型,在request 后面添加了 as URLRequest

    NO.5

    【报错】”Cannot pass immutable value of type ‘NSDate?’ as inout argument”

    【解决方法】var beginDate: NSDate? = NSDate()

    修改前的代码:

    var beginDate:  Date?
    var endDate: Date?
    let calendar: Calendar = Calendar.current
    let ok: Bool = calendar.range(of: Calendar.Unit.month, start: &beginDate, interval: &interval, for: newDate as Date)

    修改后的代码:

    var beginDate:  NSDate? = NSDate()
    var endDate: NSDate? = NSDate()
    let calendar: Calendar = Calendar.current
    let ok: Bool = calendar.range(of: Calendar.Unit.month, start: &beginDate, interval: &interval, for: newDate as Date)

    NO.6

    【警告】”Expression of type “UIViewController?” is unused”.

    【解决】Swift3之前,每个方法都有一个默认的可以废弃的结果。

    相关解决实例:

    // 例一:
        _ = navigationController?.popViewController(animated: true)
    
    // 例二:
        t_principal.mas_makeConstraints { (make) in
                _ = make?.top.mas_equalTo()(0)
                _ = make?.left.mas_equalTo()(20)
                _ = make?.height.mas_equalTo()(self.frame.size.height / 3 - 1)
                _ = make?.width.mas_equalTo()(self.frame.size.width / 2 - 30)
            }
    

    相关参考

    http://adcdownload.apple.com/Developer_Tools/Xcode_8_beta_3/Release_Notes_for_Xcode_8_beta_3.pdf

    https://forums.developer.apple.com/thread/49635

    http://stackoverflow.com/questions/37812286/swift-3-urlsession-shared-ambiguous-reference-to-member-datataskwithcomplet

    http://stackoverflow.com/questions/37946990/cgrectmake-cgpointmake-cgsizemake-cgrectzero-cgpointzero-is-unavailable-in

    http://stackoverflow.com/questions/37843049/xcode-8-swift-3-expression-of-type-uiviewcontroller-is-unused-warning

    展开全文
  • Learn reactive programming in Swift with RxSwift! The popularity of reactive programming continues to grow on an ever-increasing number of platforms and languages. Rx lets developers easily and ...
  • 著名移动开发教学网站RayWenderlich 出品的付费电子书。基于Swift 4版本的3D 游戏开发教程
  • Ray Wenderlich 出品关于 WatchOS 开发的学习书籍,目前已更新到第三版(Swift4 和 Xcode9)。内含 pdf 与 epub 格式书籍,还有所有章节的代码资源。
  • iOS基础网络教程-Swift版本: 3.使用UIWebView加载本地的数据

    在前面, 我们使用了 UIWebView 加载了网络的数据, 其实 UIWebView不只是可以加载普通的网页, 还可以加载其他不同的文件, 比如视频, 音乐, PDF, Word等等文件都是可以的, 下面让我们来看看~~

    PS: 例子里的 PDF, Txt, doc 文件请自行准备, 里面的内容随便, 只要格式没有错误就ok


    1.代码实现

    遵守代理以及实现方法

    class ViewController: UIViewController, UIWebViewDelegate {
        // 设置一个 WebView 属性, 供全局使用
        var webView: UIWebView!
    
        override func viewDidLoad() {
            super.viewDidLoad()
            // 实现自定义 WebView
            self.myWebView()
            // 使用二进制数据流加载本地数据
            self.loadDataFile()
        }
    }

    自定义UIWebView

        func myWebView(){
    
            // 初始化 WebView
            webView = UIWebView(frame: self.view.bounds)
    
            // 设置代理
            webView.delegate = self
    
            // 检车 WebView 里显示的内容, 符合条件就高亮显示
            webView.dataDetectorTypes = UIDataDetectorTypes.All
    
            //添加到 self.view
            self.view.addSubview(webView)
        }

    使用URL加载本地的数据

        // 1.使用 URL 请求数据
        func loadFile() {
            // 1.设置 URL 地址
            // 应用场景: 加载从服务器下载的文件, 比如 PDF, 或者word, 图片等等文件
            let path = NSBundle.mainBundle().URLForResource("华为软件编程规范总则.doc", withExtension: nil)
    
            // 设置请求 URl
            let request = NSURLRequest(URL: path!)
    
            // 发送请求
            webView.loadRequest(request)
        }

    使用二进制数据流加载数据

        // 2.使用同步请求请求数据
        func loadDataFile() {
            // 1.设置 URL 地址
            // 应用场景: 加载从服务器下载的文件, 比如 PDF, 或者word, 图片等等文件
            let path = NSBundle.mainBundle().URLForResource("华为软件编程规范总则.doc", withExtension: nil)
    
            // 2.设置请求 URl
            let request = NSURLRequest(URL: path!)
    
            // 3.设置服务器响应对象
            var response: NSURLResponse?
    
            // 4.从服务器取出的 NSData 数据
            let data = NSURLConnection.sendSynchronousRequest(request, returningResponse: &response, error: nil)
    
            // 5.发送 NSData 同步数据请求
            // 第一个参数是: NSData, 第二个参数是:NSURLResponse, 第三个参数是: UTF8编码, 第四个参数暂时无需理会
            webView.loadData(data, MIMEType: response?.MIMEType, textEncodingName: "UTF8", baseURL: nil)
    
            println(response?.MIMEType)
        }

    使用HTML请求数据

        // 3.使用 HTML 请求数据
        func loadHTML() {
            // 应用场景: 截取网页中得某一部分显示
            // 例如: 网页的完整内容中包含广告! 加载完页面之后, 把广告这一部分的 HTML 页面删除, 然后再加载
            // 很多新闻类的应用都在使用
            webView.loadHTMLString("<p>abcef</p>", baseURL: nil)
        }

    最终效果过于繁琐, 这里就不展示了

    好了, 这次我们就讲到这里, 下次我们继续~~

    展开全文
  • The Swift Programming Language 的中文翻译版本,全高清文字版。
  • RayWenderlich 出版的關於在apple 平台上開發除錯及逆向工程的書 ios 12, xcode 10, swift 4.2
  • swift3中文文档.pdf

    2020-03-12 23:32:42
    swift 3.0中文文档,适合初学者学习,也适用于有一定基础的读都学习使用,swift 3.0中文文档,适合初学者学习,也适用于有一定基础的读都学习使用,swift 3.0中文文档,适合初学者学习,也适用于有一定基础的读都...
  • This book is written for Swift 3.0 and will also show you how to navigate Xcode 8 and get the most out of Apple's documentation. Throughout the book, the authors share their insights into Swift to ...
  • Swift学习资料@SwiftGuide很赞 的Swift学习资料leetcode一个练习、评估自己水平的代码平台,跟ACM有点类似完整App@Swift 30 Projects- 最新 Swift 3.0 的30个小App,更注重代码规范和架构设计(故胤道长)V2ex-Swift- ...
  • Swift 开源项目汇总

    2019-09-16 16:07:05
    Swift 开源项目汇总
  • IOS-swift5.1快速入门之旅 快速之旅 传统表明,新语言中的第一个程序应在屏幕上打印“Hello,world!”字样。在Swift中,这可以在一行中完成: print("Hello, world!") // Prints "Hel...
  • http://www.swift51.com/swift4.0/chapter2/21_Extensions.html 本页包含内容: 扩展语法 计算型属性 构造器 方法 下标 嵌套类型 扩展 就是为一个已有的类、结构体、枚举类型或者协议类型添加新功能。这包括在没有...
  • .net framework3.0初探

    2019-07-07 15:08:33
    .net framework3.0初探.net framework3.0描述 .NET Framework 3.0应用程序开发的目标始终如一,就是在最短时间内制作出最好的软件。然而,随着开发平台的性能越来越高,制作软件的壁垒也相应提高了。以 Windows 为例...
1 2 3 4 5 ... 20
收藏数 840
精华内容 336
关键字:

3.0 pdf swift