<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[horisea的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/horisea</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; horisea]]></copyright><item><title><![CDATA[runtime  methedSwizzling方法交换深入浅出，深刻分析NSArray的safe方法能否替换系统方法]]></title><link>https://blog.youkuaiyun.com/horisea/article/details/80337566</link><guid>https://blog.youkuaiyun.com/horisea/article/details/80337566</guid><author>horisea</author><pubDate>Wed, 16 May 2018 15:37:48 +0800</pubDate><description><![CDATA[1.声明： 学习底层的过程不止是装逼，更多的是学以致用，举一反三。               本文观点均为个人观点，不对之处，欢迎指教。一：什么是方法交换。1.图中我们假设这是ViewController类的数据结构图，中分别解释下图中的A,B,C.A：就是ViewController类。B:  里面藏着ViewController分类的方法列表。C：ViewController宿主类（不是分类...]]></description><category></category></item><item><title><![CDATA[iOS runloop的深入浅出，runloop的理解看这里就够了]]></title><link>https://blog.youkuaiyun.com/horisea/article/details/80111770</link><guid>https://blog.youkuaiyun.com/horisea/article/details/80111770</guid><author>horisea</author><pubDate>Fri, 27 Apr 2018 18:17:56 +0800</pubDate><description><![CDATA[一：什么是runloop事件循环，绝对不止是死循环这么简单的一个回答。实质上就是runloop内部状态的转换。1.用户态：应用程序都是在用户态，平时开发用到的api等都是用户态的操作2.内核态：系统调用，牵涉到操作系统，底层内核相关的指令。实际上是计算机内部进行的资源调度操作。1.等待：其实就是用户态-内核态的转换。事件循环不是while死循环，而是状态转换，切记。二：runloop的数据结构NS...]]></description><category></category></item><item><title><![CDATA[runtime   super和superClass的区别调用super方法深入浅出]]></title><link>https://blog.youkuaiyun.com/horisea/article/details/79791554</link><guid>https://blog.youkuaiyun.com/horisea/article/details/79791554</guid><author>horisea</author><pubDate>Mon, 02 Apr 2018 17:15:43 +0800</pubDate><description><![CDATA[如何使用super我们都知道。现在的问题是，它是如何工作的呢？首先我们需要知道的是super与self不同。self是类的一个隐藏参数，每个方法的实现的第一个参数即为self。而super并不是隐藏参数，它实际上只是一个”编译器标示符”，它负责告诉编译器，当调用viewDidLoad方法时，去调用父类的方法，而不是本类中的方法。而它实际上与self指向的是相同的消息接收者。为了理解这一点，我们先来...]]></description><category></category></item><item><title><![CDATA[关于OC和Swift混编MJExtension第三方库莫名出错问题Property has a previous declaration]]></title><link>https://blog.youkuaiyun.com/horisea/article/details/79153112</link><guid>https://blog.youkuaiyun.com/horisea/article/details/79153112</guid><author>horisea</author><pubDate>Wed, 24 Jan 2018 17:18:12 +0800</pubDate><description><![CDATA[一：概述。
   项目中用了MJExtension第三方库，今天合并了同事的代码，突然就报错了。上图
 说属性重新定义了。
二：解决思路；
  1.MJExtension里的内容我肯定事没动的，那么怎么会出问题。源码不能动。
 2.查资料，都是MJExtension的用法。


三：解决办法 
   将项目中#import "MJExtension.h"的部分，全部替换成
  ]]></description><category></category></item><item><title><![CDATA[程序员们，你想过以后不敲代码的日子吗（下）]]></title><link>https://blog.youkuaiyun.com/horisea/article/details/78979376</link><guid>https://blog.youkuaiyun.com/horisea/article/details/78979376</guid><author>horisea</author><pubDate>Fri, 05 Jan 2018 11:30:43 +0800</pubDate><description><![CDATA[25岁小吗，即使你没成家立业，但是，你真的不小了。

       25岁的时候你不多想想，等到30岁后再去想吗。

       25岁你不开始慢慢走出来，非要等到30随后吗。




       最近大家都说35岁中年危机，说的你20多岁很成功一样。人家成功人士遇到中年危机都怕。我们这些小喽啰难道不应该多想想吗。




       穷真的不怕，怕你还没脑子。不]]></description><category></category></item><item><title><![CDATA[UILabel设置属性字符串，可以增加点击事件点击]]></title><link>https://blog.youkuaiyun.com/horisea/article/details/78929896</link><guid>https://blog.youkuaiyun.com/horisea/article/details/78929896</guid><author>horisea</author><pubDate>Fri, 29 Dec 2017 11:46:06 +0800</pubDate><description><![CDATA[1.首先啊，label可以设置属性字符串，设置不同的字体颜色，字体大小，但是要增加点击事件，不好操作。
2.所以文章是设置textView来完成的。


- (UITextView *)textView {
    if (!_textView) {
        _textView = [[UITextView alloc] init];
//        NSMutableAttr]]></description><category></category></item><item><title><![CDATA[iOS开发屏幕截屏，超出屏幕截屏处理]]></title><link>https://blog.youkuaiyun.com/horisea/article/details/78924828</link><guid>https://blog.youkuaiyun.com/horisea/article/details/78924828</guid><author>horisea</author><pubDate>Thu, 28 Dec 2017 17:56:33 +0800</pubDate><description><![CDATA[/// 根据一个View生成一个image
+ (UIImage *)imageFromSnapShotView:(UIView *)view {
    UIImage *image = 
nil;
    if ([view.class
isSubclassOfClass:[UIScrollView 
class]]) {
        UIScrollView *scrool]]></description><category></category></item><item><title><![CDATA[程序员们，你想过以后不敲代码的日子吗（上）]]></title><link>https://blog.youkuaiyun.com/horisea/article/details/78923571</link><guid>https://blog.youkuaiyun.com/horisea/article/details/78923571</guid><author>horisea</author><pubDate>Thu, 28 Dec 2017 16:24:28 +0800</pubDate><description><![CDATA[打工是不可能打工的，做生意又不会。那就只能靠手艺吃饭了，我就偷电动车咯。




      打工是必须要打得，但是总不能打一辈子的工。




 

                                




      前不久在贴吧，看到个贴子，内容大致是这么写的。




      王哥，34岁。离职前职位：北京市某街道办副主任；]]></description><category></category></item><item><title><![CDATA[关于网络请求用到的东西]]></title><link>https://blog.youkuaiyun.com/horisea/article/details/78730695</link><guid>https://blog.youkuaiyun.com/horisea/article/details/78730695</guid><author>horisea</author><pubDate>Wed, 06 Dec 2017 14:52:25 +0800</pubDate><description><![CDATA[https://mp.weixin.qq.com/s/5nyTIUOcffHHktxDX3nl6A]]></description><category></category></item><item><title><![CDATA[iOS 借贷类  马甲包 等上架经验]]></title><link>https://blog.youkuaiyun.com/horisea/article/details/78727551</link><guid>https://blog.youkuaiyun.com/horisea/article/details/78727551</guid><author>horisea</author><pubDate>Wed, 06 Dec 2017 10:05:40 +0800</pubDate><description><![CDATA[http://www.jianshu.com/p/e87d8e87d240]]></description><category></category></item><item><title><![CDATA[iOS开发打包的种类，我的理解]]></title><link>https://blog.youkuaiyun.com/horisea/article/details/78718029</link><guid>https://blog.youkuaiyun.com/horisea/article/details/78718029</guid><author>horisea</author><pubDate>Tue, 05 Dec 2017 17:21:46 +0800</pubDate><description><![CDATA[1.个人账号，公司账号打包。
    1. 介绍：
       这些都是用来上传APPStore用的。99刀。区别是公司账号会有一些相关资质。
           比如公司账号有金融资质，就能上架金融相关的产品。而个人账号泽不行。


   
    2. 用途：

      当然是打包咯：一般打两种包。

           前提：
          1.创建C]]></description><category></category></item><item><title><![CDATA[Swift和Objective-C混编桥接文件设置]]></title><link>https://blog.youkuaiyun.com/horisea/article/details/78622715</link><guid>https://blog.youkuaiyun.com/horisea/article/details/78622715</guid><author>horisea</author><pubDate>Fri, 24 Nov 2017 11:26:06 +0800</pubDate><description><![CDATA[1.桥接文件的设置

stockiosoc/SCYRegistAndLogin/View/stockiosoc-Bridging-Header.h




路径 ：工程目录/所在路径     注意：名字是工程目录-Bridging-Header  
            该文件下，存放swfit中需要访问的OC的文件



2. Objective-C Generated]]></description><category></category></item><item><title><![CDATA[iOS 无开发者账号怎么打包项目 供别人下载]]></title><link>https://blog.youkuaiyun.com/horisea/article/details/78184076</link><guid>https://blog.youkuaiyun.com/horisea/article/details/78184076</guid><author>horisea</author><pubDate>Mon, 09 Oct 2017 16:38:58 +0800</pubDate><description><![CDATA[前言：1.你没有开发者账号，于是就不能创建描述文件打包到蒲公英
           2.需要安装的人不在你旁边，你不能真机调试。   辣么，该怎么办。。




 1.编译你的项目，commod+R一下
 2.找到项目的Products目录，找到下面的xxx.app,  show in finder,如下图。


3.在桌面上，新建文件夹（名字自己起），将finder中的选中]]></description><category></category></item><item><title><![CDATA[ipad开发中UIAlertController使用奔溃问题]]></title><link>https://blog.youkuaiyun.com/horisea/article/details/78011689</link><guid>https://blog.youkuaiyun.com/horisea/article/details/78011689</guid><author>horisea</author><pubDate>Sun, 17 Sep 2017 17:16:12 +0800</pubDate><description><![CDATA[加上红色部分的代码就ok了，具体原因，参考下面的博客，写的很详细。
    [alertController addAction:sureAction];
    [alertController addAction:cancelAction];
    alertController.popoverPresentationController.sourceView = self.view;]]></description><category></category></item><item><title><![CDATA[iOS 你需要知道的团队代码规范，个人更应该规范]]></title><link>https://blog.youkuaiyun.com/horisea/article/details/77771259</link><guid>https://blog.youkuaiyun.com/horisea/article/details/77771259</guid><author>horisea</author><pubDate>Fri, 01 Sep 2017 11:46:52 +0800</pubDate><description><![CDATA[直接看这个博客吧，谨记。。幸好自己平时代码风格和规范相差不远 代码规范文章链接]]></description><category></category></item><item><title><![CDATA[iOS通过链接，应用内打开APP或者跳转APPStore对应下载]]></title><link>https://blog.youkuaiyun.com/horisea/article/details/77742660</link><guid>https://blog.youkuaiyun.com/horisea/article/details/77742660</guid><author>horisea</author><pubDate>Thu, 31 Aug 2017 10:47:17 +0800</pubDate><description><![CDATA[开文：很急着实现的话，请按照最后一句话操作。


一：有一种是替换协议头，即是将 http:// 替换为 itms:// 或者 itms-apps://
       
然后通过
       [[UIApplication
sharedApplication] openURL: itms:// 或者 itms-apps://后面跟上一堆];
       但是这种应用场景比较有限]]></description><category></category></item><item><title><![CDATA[swift3.0  如何优雅的自定义tableViewcell，最简单的自定义cell，闭包事件传递，代码封装。]]></title><link>https://blog.youkuaiyun.com/horisea/article/details/77737325</link><guid>https://blog.youkuaiyun.com/horisea/article/details/77737325</guid><author>horisea</author><pubDate>Thu, 31 Aug 2017 09:53:43 +0800</pubDate><description><![CDATA[一：最近在自学swift3.0，故而把OC中最简单自定义cell的方法，照搬到swift试试。 下面说下设计思想。
     1.设计原理，提供接口。下面贴上控制器的代码
     func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        //]]></description><category></category></item><item><title><![CDATA[程序员那么努力，到底是为了什么]]></title><link>https://blog.youkuaiyun.com/horisea/article/details/77067248</link><guid>https://blog.youkuaiyun.com/horisea/article/details/77067248</guid><author>horisea</author><pubDate>Thu, 10 Aug 2017 17:42:15 +0800</pubDate><description><![CDATA[一：生活不只是眼前的苟且，还有诗和南方



一年前逃离了帝都北京，现在又扎进了很多人拼命挤进又奋力逃离的上海。


  我为什么要来上海，最近我一直再问自己。

  我喜欢江南，所以我喜欢上海。

  喜欢上海的理由太多，但更多的是来自骨子里散发的那种对南方的喜欢。。20多年前，我出生在上海。。8岁之前，我都生活在上海,杭州,又或者是湖州。。也就是环太湖这一块，那个苏湖熟，]]></description><category></category></item><item><title><![CDATA[Swift3.0 类似OC中#pragma mark 和 #waring的用法，大注释和警告的设置]]></title><link>https://blog.youkuaiyun.com/horisea/article/details/77064200</link><guid>https://blog.youkuaiyun.com/horisea/article/details/77064200</guid><author>horisea</author><pubDate>Thu, 10 Aug 2017 17:29:00 +0800</pubDate><description><![CDATA[一、swift代码实现OC中#pragma mark的效果，这个事系统自带的，不需要单独设置






二：下面我们看下#waring的设置，这个需要手动添加脚本，如图标注三步走










下面看下效果




最后写下内容，复制粘贴即可
TAGS="TODO:|waring:"
echo "searching ${SRCROOT} fo]]></description><category></category></item><item><title><![CDATA[Swift3.0 Swift中cell分割线靠左对齐，cell基类封装]]></title><link>https://blog.youkuaiyun.com/horisea/article/details/77040837</link><guid>https://blog.youkuaiyun.com/horisea/article/details/77040837</guid><author>horisea</author><pubDate>Thu, 10 Aug 2017 10:58:09 +0800</pubDate><description><![CDATA[一：如OC一样，swift中cell的分割线也是默认缺了左边一点，那么如何让分割线左对齐呢
      1.那么我们在自定义cell的基类中设置下，那么以后的cell都继承基类，以后都不会有分割线问题了
    import UIKit

class SCYBaseTableViewCell: UITableViewCell {

    override func awakeFromNib(]]></description><category></category></item></channel></rss>