<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zcube的技术博客]]></title><description><![CDATA[记录总结一些自己的见解]]></description><link>https://blog.youkuaiyun.com/zcube</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zcube]]></copyright><item><title><![CDATA[NSArray和NSString copy属性问题]]></title><link>https://blog.youkuaiyun.com/zcube/article/details/72628291</link><guid>https://blog.youkuaiyun.com/zcube/article/details/72628291</guid><author>zcube</author><pubDate>Mon, 22 May 2017 17:31:08 +0800</pubDate><description><![CDATA[什么时候加copy

在定义属性的时候，如果属性的数据类型有对应的Mutable类型，那么该非Mutable类型属性要指定为为copy。比如：NSString/NSMutableString、NSArray/NSMutableArray、NSDictionary/NSMutableDictionary、NSSet/NSMutableSet。如下图：




测试例子

下面示例说]]></description><category></category></item><item><title><![CDATA[关于前后端接口的可扩展性思考]]></title><link>https://blog.youkuaiyun.com/zcube/article/details/72628159</link><guid>https://blog.youkuaiyun.com/zcube/article/details/72628159</guid><author>zcube</author><pubDate>Mon, 22 May 2017 17:21:59 +0800</pubDate><description><![CDATA[在写iOS和Android客户端程序，尤其是涉及到和后端对接口的时候，大家通常会针对下面三个问题引发一些争论：

不能写死容错能力过度设计

之所以会争论，是因为这三点很多时候是对的，但是如果不分情况和场合的应用就会出现一些扩展性的问题。

不能写死

不能写死，比如这个边框颜色写死到客户端还是后台下发。下面这张图红框标注的叫外置筛选项。



在7.6版本的时候这个框和文]]></description><category></category></item><item><title><![CDATA[常见的全局变量定义]]></title><link>https://blog.youkuaiyun.com/zcube/article/details/52174854</link><guid>https://blog.youkuaiyun.com/zcube/article/details/52174854</guid><author>zcube</author><pubDate>Wed, 10 Aug 2016 17:59:20 +0800</pubDate><description><![CDATA[常见的全局变量定义

作用域在文件内全局常量

// Test.m
static NSString *const kTestKey = @"test_key"; // 只作用于当前Test.m文件



作用域在工程的全局常量

// Test.h
extern NSString *const kTestKey;

// Test.m
NSString *const kTestK]]></description><category></category></item><item><title><![CDATA[正确使用NS_DESIGNATED_INITIALIZER]]></title><link>https://blog.youkuaiyun.com/zcube/article/details/51657417</link><guid>https://blog.youkuaiyun.com/zcube/article/details/51657417</guid><author>zcube</author><pubDate>Mon, 13 Jun 2016 14:24:30 +0800</pubDate><description><![CDATA[为什么会提到NS_DESIGNATED_INITIALIZER

最近在清理项目警告，遇到了“Method override for the designated initializer”的警告，全称为：

Method override for the designated initializer of the superclass '-init' not found 或者Method]]></description><category></category></item><item><title><![CDATA[树的最小支配集]]></title><link>https://blog.youkuaiyun.com/zcube/article/details/51395761</link><guid>https://blog.youkuaiyun.com/zcube/article/details/51395761</guid><author>zcube</author><pubDate>Fri, 13 May 2016 15:29:51 +0800</pubDate><description><![CDATA[/**
    最小支配集，就是图中用最少的点覆盖其它所有点
    如果用选A点覆盖，则与A点相连的点都被覆盖，大致
    就是这样
    百度里面搜到一道题
    有一个图G，现在希望在一些点建立控制站，每个控制站能控制与它相临的点（直接相连），
    现在希望有选择的在一些点建立控制站，使得以最小得控制站数，控制所有的点

    图的最小支配集是NP 问题，我只会树]]></description><category></category></item><item><title><![CDATA[ReactiveCocoa学习]]></title><link>https://blog.youkuaiyun.com/zcube/article/details/50801917</link><guid>https://blog.youkuaiyun.com/zcube/article/details/50801917</guid><author>zcube</author><pubDate>Fri, 04 Mar 2016 13:19:41 +0800</pubDate><description><![CDATA[ReactiveCocoa - iOS开发的新框架

RAC具有函数式编程和响应式编程的特性。它主要吸取了.Net的 Reactive Extensions的设计和实现。

ReactiveCocoa试图解决什么问题

传统iOS开发过程中，状态以及状态之间依赖过多的问题

在开发iOS应用时，一个界面元素的状态很可能受多个其它界面元素或后台状态的影响。RAC通过引入信号（Sign]]></description><category></category></item><item><title><![CDATA[Xcode自动格式化代码]]></title><link>https://blog.youkuaiyun.com/zcube/article/details/50546845</link><guid>https://blog.youkuaiyun.com/zcube/article/details/50546845</guid><author>zcube</author><pubDate>Wed, 20 Jan 2016 10:33:53 +0800</pubDate><description><![CDATA[安装Clang Format

通过Alcatraz安装

配置

Edit ｜Clang Format 菜单中提供了几种预定义的格式化选项，其中 WebKit 是最接近官方Objective-C代码风格，不同的是函数名后的花括号会换行，*靠近类型名，例如：UIButton*
 signInButton;

File 选项为自定义格式化，如果想和官方代码风格一致，首先创建文件名为]]></description><category></category></item><item><title><![CDATA[iOS编程读书笔记]]></title><link>https://blog.youkuaiyun.com/zcube/article/details/50522042</link><guid>https://blog.youkuaiyun.com/zcube/article/details/50522042</guid><author>zcube</author><pubDate>Fri, 15 Jan 2016 10:25:43 +0800</pubDate><description><![CDATA[11,22,23,24,25,28暂时不需要看

1 第一个简单的iOS应用

单击按钮可以改变文字。

1.1 创建Xcode项目

创建项目的时候Xcode会提供一些包含通用代码的模版，可以根据需要选择模版。创建项目是需要填写Organization Name和Company Identifier，也可以填入自己的公司名称和公司的反向域名。


Class Prefix在]]></description><category></category></item><item><title><![CDATA[CocoaPods初学]]></title><link>https://blog.youkuaiyun.com/zcube/article/details/50522009</link><guid>https://blog.youkuaiyun.com/zcube/article/details/50522009</guid><author>zcube</author><pubDate>Fri, 15 Jan 2016 10:22:57 +0800</pubDate><description><![CDATA[什么是CocoaPods

每种语言发展到一个阶段，就会出现相应的依赖管理工具，例如 Java 语言的 Maven，nodejs 的 npm。随着 iOS 开发者的增多，业界也出现了为 iOS 程序提供依赖管理的工具，它的名字叫做：CocoaPods。

当你开发iOS应用时，会经常使用到很多第三方开源类库，比如JSONKit，AFNetWorking等等。可能某个类库又用到其他类库，所以]]></description><category></category></item><item><title><![CDATA[解决jenkins输出log中文乱码问题]]></title><link>https://blog.youkuaiyun.com/zcube/article/details/50072527</link><guid>https://blog.youkuaiyun.com/zcube/article/details/50072527</guid><author>zcube</author><pubDate>Fri, 27 Nov 2015 17:02:13 +0800</pubDate><description><![CDATA[描述：jenkins之前log中文是可以正常显示的，但是将git的log改为utf-8修复好后，jenkins输出的log中文就变成乱码了，虽然使用chcp 65001 可以解决系统输出中文正常，但是nsis打包程序输出的信息依然是乱码。

git的log中文乱码问题：http://blog.youkuaiyun.com/zcube/article/details/50012107

解决思路：
写]]></description><category></category></item><item><title><![CDATA[解决win10系统alt+tab切换程序不显示程序缩略图问题]]></title><link>https://blog.youkuaiyun.com/zcube/article/details/50070615</link><guid>https://blog.youkuaiyun.com/zcube/article/details/50070615</guid><author>zcube</author><pubDate>Fri, 27 Nov 2015 16:16:22 +0800</pubDate><description><![CDATA[描述：win10系统alt+tab切换时候变成了以前小图标模式，本来应该是显示程序缩略图的。

解决：
1、打开注册表，定位到 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer
2、找到 AltTabSettings 修改键值为 0，如果没有则创建一个DWORD键值，重启电脑即可。

参考链接：]]></description><category></category></item><item><title><![CDATA[Jenkins中Git及log中文乱码问题]]></title><link>https://blog.youkuaiyun.com/zcube/article/details/50012107</link><guid>https://blog.youkuaiyun.com/zcube/article/details/50012107</guid><author>zcube</author><pubDate>Tue, 24 Nov 2015 14:14:57 +0800</pubDate><description><![CDATA[解决方案：
1、在.jenkins/jenkins.xml中新增-Dfile.encoding=utf-8，可解决jenkins信息乱码问题，如下：
-Xrs -Xmx256m -Dfile.encoding=utf-8 -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" -]]></description><category></category></item><item><title><![CDATA[devenv.exe 中的 0x756c3e28 处有未经处理的异常]]></title><link>https://blog.youkuaiyun.com/zcube/article/details/49931617</link><guid>https://blog.youkuaiyun.com/zcube/article/details/49931617</guid><author>zcube</author><pubDate>Thu, 19 Nov 2015 18:18:19 +0800</pubDate><description><![CDATA[在使用alt+G 和 alt+O跳转时候出现VS2010卡死，调试的话有 devenv.exe 中的 0x756c3e28 处有未经处理的异常

1、管理员启动cmd，cd C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE
2、输入 Devenv.exe /ResetSettings

恢复设置，暂时解决了]]></description><category></category></item><item><title><![CDATA[devenv.exe 中的  处有未经处理的异常]]></title><link>https://blog.youkuaiyun.com/zcube/article/details/49931559</link><guid>https://blog.youkuaiyun.com/zcube/article/details/49931559</guid><author>zcube</author><pubDate>Thu, 19 Nov 2015 18:16:08 +0800</pubDate><description><![CDATA[在使用alt+G 和 alt+O跳转时候出现VS2010卡死，调试的话有 devenv.exe 中的 0x756c3e28 处有未经处理的异常


1、管理员启动cmd，cd C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE
2、输入 Devenv.exe /ResetSettings
恢复设置，暂时解决了]]></description><category></category></item><item><title><![CDATA[在启动前隐藏一个MFC DoModal对话框]]></title><link>https://blog.youkuaiyun.com/zcube/article/details/49621233</link><guid>https://blog.youkuaiyun.com/zcube/article/details/49621233</guid><author>zcube</author><pubDate>Tue, 03 Nov 2015 20:19:45 +0800</pubDate><description><![CDATA[实现在启动对话框前将DoModal对话框隐藏掉
1、在对话框中添加WM_WINDOWPOSCHANGING消息处理

BEGIN_MESSAGE_MAP(CMyDialog, CDialog)
    ON_WM_WINDOWPOSCHANGING()
END_MESSAGE_MAP()

BOOL CHiddenDialog::OnInitDialog()
{
    CDialog::O]]></description><category></category></item><item><title><![CDATA[解决warning MSB8012:问题]]></title><link>https://blog.youkuaiyun.com/zcube/article/details/49076801</link><guid>https://blog.youkuaiyun.com/zcube/article/details/49076801</guid><author>zcube</author><pubDate>Mon, 12 Oct 2015 17:23:00 +0800</pubDate><description><![CDATA[假设 属性页-》配置属性-》链接器-》常规-》输出文件 值为：..\Bin\$(TargetName)$(TargetExt)    或者  ..\Bin\Foo.dll
则 属性页-》配置属性-》常规-》
输出目录： ..\Bin\
目标文件名：$(TargetName)  或者  Foo]]></description><category></category></item><item><title><![CDATA[mac苹果灯亮出风口烫开不了机解决办法]]></title><link>https://blog.youkuaiyun.com/zcube/article/details/48574843</link><guid>https://blog.youkuaiyun.com/zcube/article/details/48574843</guid><author>zcube</author><pubDate>Sat, 19 Sep 2015 14:18:37 +0800</pubDate><description><![CDATA[早上打开mac屏幕一片黑，但是苹果灯亮，出风口烫开不了机，后来很简单的解决了。之前同事也出现这个问题，被送到维修部一个星期才修好。

解决办法：

1、按住power键一会直到完全关机。

2、按一下power键开机，这时候同时按住option＋command＋p＋r，直到duang、duang屏幕亮。

参考链接：

http://www.zhihu.com/question]]></description><category></category></item><item><title><![CDATA[vs中能编译通过，但是会有红色下划线提示未定义标示符问题]]></title><link>https://blog.youkuaiyun.com/zcube/article/details/48370201</link><guid>https://blog.youkuaiyun.com/zcube/article/details/48370201</guid><author>zcube</author><pubDate>Fri, 11 Sep 2015 11:28:01 +0800</pubDate><description><![CDATA[项目能编译通过，但是代码中会有红色下划线提示未定义标示符。就连BOOL TRUE FALSE等都会有下划线。
这通常是该代码文件包含在项目文件夹的子文件夹中。
解决办法是配置包含项目目录即可：
打开项目属性－》配置属性－》C/C++常规－》附加包含目录－》填入：$(ProjectDir)]]></description><category></category></item><item><title><![CDATA[树的最小支配集]]></title><link>https://blog.youkuaiyun.com/zcube/article/details/48223221</link><guid>https://blog.youkuaiyun.com/zcube/article/details/48223221</guid><author>zcube</author><pubDate>Mon, 07 Sep 2015 19:53:52 +0800</pubDate><description><![CDATA[/**
    最小支配集，就是图中用最少的点覆盖其它所有点
    如果用选A点覆盖，则与A点相连的点都被覆盖，大致
    就是这样
    百度里面搜到一道题
    有一个图G，现在希望在一些点建立控制站，每个控制站能控制与它相临的点（直接相连），
    现在希望有选择的在一些点建立控制站，使得以最小得控制站数，控制所有的点

    图的最小支配集是NP 问题，我只会树的最小支配集模板]]></description><category></category></item><item><title><![CDATA[欧拉路 / 回路 / 有向/ 无向 / 字典顺序]]></title><link>https://blog.youkuaiyun.com/zcube/article/details/48223213</link><guid>https://blog.youkuaiyun.com/zcube/article/details/48223213</guid><author>zcube</author><pubDate>Mon, 07 Sep 2015 19:53:39 +0800</pubDate><description><![CDATA[/**
    欧拉路就是一笔画问题，同时会衍生出好多问题
    比如：单词接龙，就是给一堆英文单词，问是否能让其首尾相接
    排成一列
    这样可将每个单词看成一条边，首尾字母看成点，求是否存在一
    条欧拉路

    一、无向图
    欧拉回路：每个顶点入度都是偶数
    欧拉路：所有点度数为偶数或者只有两个点度数为奇数
    二、有向图
    欧拉回路：每个点入度等于]]></description><category></category></item></channel></rss>