<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[GuiLehan的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/GuiLehan</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; GuiLehan]]></copyright><item><title><![CDATA[Xcode的调试技巧]]></title><link>https://blog.youkuaiyun.com/GuiLehan/article/details/53591804</link><guid>https://blog.youkuaiyun.com/GuiLehan/article/details/53591804</guid><author>GuiLehan</author><pubDate>Mon, 12 Dec 2016 23:55:47 +0800</pubDate><description><![CDATA[转自：http://www.cnblogs.com/daiweilai/p/4421340.html#biyouji

目录　　

前言
逼优鸡
知己知彼 百战不殆
抽刀断Bug
　　普通操作
　　全局断点（Global BreakPoint）
　　条件断点(Condational Breakpoints)
打印的艺术
　　NSLog
　　开启僵尸对象(Enable NS]]></description><category></category></item><item><title><![CDATA[函数与闭包的应用实例]]></title><link>https://blog.youkuaiyun.com/GuiLehan/article/details/53591310</link><guid>https://blog.youkuaiyun.com/GuiLehan/article/details/53591310</guid><author>GuiLehan</author><pubDate>Mon, 12 Dec 2016 23:33:12 +0800</pubDate><description><![CDATA[今天的博客算是比较基础的，还是那句话，基础这东西在什么时候都是最重要的。说到函数，只要是写过程序就肯定知道函数是怎么回事，今天就来讨论一下Swift中的函数的特性以及Swift中的闭包。今天的一些小实例中回类比一下Objective-C中的函数的写法等等。Swift中的函数还是有许多好用的特性的，比如输入参数，使用元组返回多个值， 定义形参名，设定默认参数以及可变参数等等一些好用的特性。而在Swi]]></description><category></category></item><item><title><![CDATA[Swift 中的指针使用]]></title><link>https://blog.youkuaiyun.com/GuiLehan/article/details/53555821</link><guid>https://blog.youkuaiyun.com/GuiLehan/article/details/53555821</guid><author>GuiLehan</author><pubDate>Sat, 10 Dec 2016 08:17:30 +0800</pubDate><description><![CDATA[Apple 期望在 Swift 中指针能够尽量减少登场几率，因此在 Swift 中指针被映射为了一个泛型类型，并且还比较抽象。这在一定程度上造成了在 Swift 中指针使用的困难，特别是对那些并不熟悉指针，也没有多少指针操作经验的开发者 (包括我自己也是) 来说，在 Swift 中使用指针确实是一个挑战。在这篇文章里，我希望能从最基本的使用开始，总结一下在 Swift 中使用指针的一些常见方式和场]]></description><category></category></item><item><title><![CDATA[在Swift中使用遗留的C API-指针篇]]></title><link>https://blog.youkuaiyun.com/GuiLehan/article/details/53555819</link><guid>https://blog.youkuaiyun.com/GuiLehan/article/details/53555819</guid><author>GuiLehan</author><pubDate>Sat, 10 Dec 2016 08:15:56 +0800</pubDate><description><![CDATA[Swift的类型系统的设计目的在于简化我们的生活，为此它强制用户遵守严格的代码规范来达到这一点。毫无疑问这是一件大好事，它鼓励程序员们编写更好更正确的代码。然而，当Swift与历史遗留的代码库、特别是C语言库进行交互时，问题出现了。我们需要面对的现实是许多C语言库滥用类型，以至于它们对Swift的编译器并不友好。苹果的Swift团队的确花了不少功夫来支持C的一些基础特性，比如C字符串。但当在Swi]]></description><category></category></item><item><title><![CDATA[自定义NSTitlebar之NSTitlebarAccessoryViewController]]></title><link>https://blog.youkuaiyun.com/GuiLehan/article/details/53535626</link><guid>https://blog.youkuaiyun.com/GuiLehan/article/details/53535626</guid><author>GuiLehan</author><pubDate>Fri, 09 Dec 2016 10:24:10 +0800</pubDate><description><![CDATA[在10.10
 之后的版本会简单一下,  
第一步, 给窗口添加Toolbar, 但删掉Toolbar中的所有内容, 取消Customizable(相当于禁用Toolbar自定义功能) 
 
第二步, 
//Swift 
window.titleVisibility = .Hidden 
//OC 
[window setTitleVisibility:NSWindowTitleH]]></description><category></category></item><item><title><![CDATA[NSToolBar]]></title><link>https://blog.youkuaiyun.com/GuiLehan/article/details/53535272</link><guid>https://blog.youkuaiyun.com/GuiLehan/article/details/53535272</guid><author>GuiLehan</author><pubDate>Fri, 09 Dec 2016 10:01:34 +0800</pubDate><description><![CDATA[Toolbar 和左上角控制窗口关闭、最小化和全屏的三个按钮在同一行。




[html] view
 plain copy






self.window.titleVisibility =  NSWindowTitleHidden;  





NSToolbarItem

类属性字段说明
//item所属的toolbar对象
@proper]]></description><category></category></item><item><title><![CDATA[Swift中的get和set方法]]></title><link>https://blog.youkuaiyun.com/GuiLehan/article/details/53510707</link><guid>https://blog.youkuaiyun.com/GuiLehan/article/details/53510707</guid><author>GuiLehan</author><pubDate>Wed, 07 Dec 2016 21:33:43 +0800</pubDate><description><![CDATA[当我们得到属性值的时候，会调用该属性的get方法。

当我们去设置属性值的时候，会调用该属性的set方法。

当我们给属性设置值的时候，Swift会自动给我们创建一个名为newValue的常量并且可以用于set{}中。

Swift中有储值属性和计算属性，一般我们应该是给计算属性添加get和set方法，现在先通过一个Example展示：


var A:Int = 0
var B]]></description><category></category></item><item><title><![CDATA[深入浅出MVC模式]]></title><link>https://blog.youkuaiyun.com/GuiLehan/article/details/53509444</link><guid>https://blog.youkuaiyun.com/GuiLehan/article/details/53509444</guid><author>GuiLehan</author><pubDate>Wed, 07 Dec 2016 18:39:42 +0800</pubDate><description><![CDATA[MVC全名是Model View Controller，是模型(model)－视图(view)－控制器(controller)的缩写，一种软件设计典范，用一种业务逻辑、数据、界面显示分离的方法组织代码，将业务逻辑聚集到一个部件里面，在改进和个性化定制界面及用户交互的同时，不需要重新编写业务逻辑（来自百度百科）


MVC模型

简介
MVC是一个基本模型，用于分类程序中的所有对象到三个]]></description><category></category></item><item><title><![CDATA[Swift、OC、C++混合编程]]></title><link>https://blog.youkuaiyun.com/GuiLehan/article/details/53457885</link><guid>https://blog.youkuaiyun.com/GuiLehan/article/details/53457885</guid><author>GuiLehan</author><pubDate>Sun, 04 Dec 2016 23:33:00 +0800</pubDate><description><![CDATA[OC调用C++:

     1、创建oc工程：

　　

     

   2.主要步骤:将某个.m文件后缀改为.mm，

    

  3.创建c++文件

 




#ifndef __Test__CPPHello__
#define __Test__CPPHello__

#include 

class CPPHello {
public:
 ]]></description><category></category></item><item><title><![CDATA[mutating关键字的使用]]></title><link>https://blog.youkuaiyun.com/GuiLehan/article/details/53409821</link><guid>https://blog.youkuaiyun.com/GuiLehan/article/details/53409821</guid><author>GuiLehan</author><pubDate>Wed, 30 Nov 2016 16:24:59 +0800</pubDate><description><![CDATA[Swift中mutating关键字
Swift中protocol的功能比OC中强大很多，不仅能再class中实现，同时也适用于struct、enum。
使用 mutating 关键字修饰方法是为了能在该方法中修改 struct 或是 enum 的变量，在设计接口的时候，也要考虑到使用者程序的扩展性。所以要多考虑使用mutating来修饰方法。

首先，先定义一个protocol
prot]]></description><category></category></item><item><title><![CDATA[subscript]]></title><link>https://blog.youkuaiyun.com/GuiLehan/article/details/53409782</link><guid>https://blog.youkuaiyun.com/GuiLehan/article/details/53409782</guid><author>GuiLehan</author><pubDate>Wed, 30 Nov 2016 16:22:13 +0800</pubDate><description><![CDATA[通常情况下，我们在使用数组（Array）或字典（Dictionary）时会使用到下标。其实在Swift中，我们还可以给类、结构、枚举等自定义下标（subscript）。
一、基本使用




[objc] view
 plain copy






struct TimesTable {  
    let multiplier: Int  
      
  ]]></description><category></category></item><item><title><![CDATA[访问控制（fileprivate，private，internal，public，open）]]></title><link>https://blog.youkuaiyun.com/GuiLehan/article/details/53409691</link><guid>https://blog.youkuaiyun.com/GuiLehan/article/details/53409691</guid><author>GuiLehan</author><pubDate>Wed, 30 Nov 2016 16:15:07 +0800</pubDate><description><![CDATA[在Swift语言中，访问修饰符有五种，分别为fileprivate，private，internal，public和open。

其中 fileprivate和open是Swift 3新添加的。由于过去 Swift对于访问权限的控制，不是基于类的，而是基于文件的。这样会有问题，所以Swift 3新增了两个修饰符对原来的private、public进行细分。



一、各个修饰符区别
]]></description><category></category></item><item><title><![CDATA[init()和deinit()]]></title><link>https://blog.youkuaiyun.com/GuiLehan/article/details/53409636</link><guid>https://blog.youkuaiyun.com/GuiLehan/article/details/53409636</guid><author>GuiLehan</author><pubDate>Wed, 30 Nov 2016 16:11:30 +0800</pubDate><description><![CDATA[一、初始化方法(init（）) 
1、定义:类初始化对象时所调用的方法 
2、分类: (1)默认初始化方法 
(2)便利初始化方法 
(3)使用闭包 
3、一些注意点: 
（1）方法固定名为init,没有返回值，方法名init前面也不需要加func 
（2）在创建对象之后，如果要使用对象的属性之前，必须对属性初始化 
（3）声明一个变量，必须赋初始值，除非这个变量是强制解包可选，或]]></description><category></category></item><item><title><![CDATA[使用Swift开发一个MacOS的菜单状态栏App]]></title><link>https://blog.youkuaiyun.com/GuiLehan/article/details/53244827</link><guid>https://blog.youkuaiyun.com/GuiLehan/article/details/53244827</guid><author>GuiLehan</author><pubDate>Sun, 20 Nov 2016 21:34:05 +0800</pubDate><description><![CDATA[猴子原创，欢迎转载。转载请注明： 转载自Cocos2Der-优快云，谢谢！  
原文地址: http://blog.youkuaiyun.com/cocos2der/article/details/52054107

这两天突然想看看OSX下的App开发，看了几篇文章。下面这一篇我觉得入门是非常好的。我仅转述为中文，并非原文翻译。原文地址：http://footle.org/WeatherBar/
]]></description><category></category></item><item><title><![CDATA[使用swift开发OSX应用]]></title><link>https://blog.youkuaiyun.com/GuiLehan/article/details/53244788</link><guid>https://blog.youkuaiyun.com/GuiLehan/article/details/53244788</guid><author>GuiLehan</author><pubDate>Sun, 20 Nov 2016 21:30:40 +0800</pubDate><description><![CDATA[原文：http://www.raywenderlich.com/87002/getting-started-with-os-x-and-swift-tutorial-part-1

翻译原文：http://blog.youkuaiyun.com/kmyhy/article/details/45150649




打开Xcode，使用 File\NewProject… 菜单，在弹出窗口中选择
]]></description><category></category></item><item><title><![CDATA[自定义NSWindow，Round Corner，Non-TitleBar]]></title><link>https://blog.youkuaiyun.com/GuiLehan/article/details/53244762</link><guid>https://blog.youkuaiyun.com/GuiLehan/article/details/53244762</guid><author>GuiLehan</author><pubDate>Sun, 20 Nov 2016 21:28:06 +0800</pubDate><description><![CDATA[参考： 
NSWindow with round corners and shadow 
Round corners on a borderless NSWindow 
NSTextField not editable in custom NSWindow 
Hide NSWindow title bar

在Xcode默认生成的工程中使用xib，只能自动生产默认的样式，如果想要让Ap]]></description><category></category></item><item><title><![CDATA[OS X程序点击dock图标重新弹出窗口方法]]></title><link>https://blog.youkuaiyun.com/GuiLehan/article/details/53244753</link><guid>https://blog.youkuaiyun.com/GuiLehan/article/details/53244753</guid><author>GuiLehan</author><pubDate>Sun, 20 Nov 2016 21:27:01 +0800</pubDate><description><![CDATA[方法一：
func applicationShouldHandleReopen(sender: NSApplication, hasVisibleWindows
flag: Bool) -> Bool {
    if !flag{
        let sb = NSStoryboard(name: "Main", bundle: nil)
        let controller = ]]></description><category></category></item><item><title><![CDATA[Swift 值类型和引用类型]]></title><link>https://blog.youkuaiyun.com/GuiLehan/article/details/53013138</link><guid>https://blog.youkuaiyun.com/GuiLehan/article/details/53013138</guid><author>GuiLehan</author><pubDate>Wed, 02 Nov 2016 21:43:52 +0800</pubDate><description><![CDATA[Swift中的类型分为两类：一，值类型(value types)，每个值类型的实例都拥有各自唯一的数据，通常它们是结构体，枚举或元组；二，引用类型(reference
 types)，引用类型的实例共享它们的数据，通常是一个类。在这篇文章中我们将会探索值类型和引用类型的价值，以及如何在它们二者间抉择。




有什么区别？
值类型最基本的特征就是复制在赋值、初始化和传递参数过程中的数]]></description><category></category></item><item><title><![CDATA[SWIFT 神奇的下划线]]></title><link>https://blog.youkuaiyun.com/GuiLehan/article/details/53012678</link><guid>https://blog.youkuaiyun.com/GuiLehan/article/details/53012678</guid><author>GuiLehan</author><pubDate>Wed, 02 Nov 2016 21:14:56 +0800</pubDate><description><![CDATA[转自：http://www.cnblogs.com/bhlsheji/p/4746072.html

    在Swift在。有许多神奇的下划线，在这里，我们将看到神奇的汇总，我希望能够帮助其他很多学习Swift朋友。

    @Author:
 twlkyao转载或者引用请保留此行。



    1.格式化数字字面量

    通过使用下划线能够提高数字字面量的可读性，]]></description><category></category></item><item><title><![CDATA[Swift 3.0中的函数签名与函数引用]]></title><link>https://blog.youkuaiyun.com/GuiLehan/article/details/53012426</link><guid>https://blog.youkuaiyun.com/GuiLehan/article/details/53012426</guid><author>GuiLehan</author><pubDate>Wed, 02 Nov 2016 20:55:31 +0800</pubDate><description><![CDATA[文章转自：http://blog.youkuaiyun.com/zenny_chen/article/details/52665004
在Apple官方的《The Swift Programming
 Language》中提到了Swift中函数的定义以及如何调用的方式，并且也大概提到了函数引用的方式以及如何通过一个函数引用对象进行函数间接调用。不过，在此文中并未对函数符号的识别做详细描述，这样当我们用一个]]></description><category></category></item></channel></rss>