PageSourceSearch

https://tanhao.me/archives/

html tanhao.me collected 2026-09-26 10:02:48 UTC 18,984 bytes, 952 lines download raw bytes

1<!doctype html>
2
3
4
5  
6
7
8<html class="theme-next pisces use-motion" lang="zh-Hans">
9<head>
10  <meta charset="UTF-8"/>
11<meta http-equiv="X-UA-Compatible" content="IE=edge" />
12<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>
13
14
15
16<meta http-equiv="Cache-Control" content="no-transform" />
17<meta http-equiv="Cache-Control" content="no-siteapp" />
18
19
20
21
22
23
24
25
26
27
28
29
30  
31  
32  <link href="/lib/fancybox/source/jquery.fancybox.css?v=2.1.5" rel="stylesheet" type="text/css" />
33
34
35
36
37  
38  
39  
40  
41
42  
43    
44    
45  
46
47  
48
49  
50
51  
52
53  
54
55  
56    
57    
58    <link href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic&subset=latin,latin-ext" rel="stylesheet" type="text/css">
59  
60
61
62
63
64
65
66<link href="/lib/font-awesome/css/font-awesome.min.css?v=4.6.2" rel="stylesheet" type="text/css" />
67
68<link href="/css/main.css?v=5.1.0" rel="stylesheet" type="text/css" />
69
70
71  <meta name="keywords" content="iOS,OSX,Objective-C,Xcode,TanHao" />
72
73
74
75
76
77
78
79
80  <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico?v=5.1.0" />
81
82
83
84
85
86
87<meta name="description" content="程序的世界让我着迷...">
88<meta property="og:type" content="website">
89<meta property="og:title" content="老谭笔记">
90<meta property="og:url" content="https://www.tanhao.me/archives/index.html">
91<meta property="og:site_name" content="老谭笔记">
92<meta property="og:description" content="程序的世界让我着迷...">
93<meta name="twitter:card" content="summary">
94<meta name="twitter:title" content="老谭笔记">
95<meta name="twitter:description" content="程序的世界让我着迷...">
96
97
98
99<script type="text/javascript" id="hexo.configurations">
100  var NexT = window.NexT || {};
101  var CONFIG = {
102    root: '/',
103    scheme: 'Pisces',
104    sidebar: {"position":"right","display":"post"},
105    fancybox: true,
106    motion: true,
107    duoshuo: {
108      userId: '0',
109      author: '博主'
110    },
111    algolia: {
112      applicationID: '',
113      apiKey: '',
114      indexName: '',
115      hits: {"per_page":10},
116      labels: {"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}
117    }
118  };
119</script>
119
120
121
122
123  <link rel="canonical" href="https://www.tanhao.me/archives/"/>
124
125
126
127
128
129  <title> 归档 | 老谭笔记 </title>
130</head>
131
132<body itemscope itemtype="http://schema.org/WebPage" lang="zh-Hans">
133
134  
135
136
137
138
139
140  
140<script type="text/javascript">
141    (function() {
142      var hm = document.createElement("script");
143      hm.src = "//tajs.qq.com/stats?sId=8912449";
144      var s = document.getElementsByTagName("script")[0];
145      s.parentNode.insertBefore(hm, s);
146    })();
147  </script>
147
148
149
150
151
152
153
154  
155  
156    
157  
158
159  <div class="container one-collumn sidebar-position-right  page-archive  ">
160    <div class="headband"></div>
161
162    <header id="header" class="header" itemscope itemtype="http://schema.org/WPHeader">
163      <div class="header-inner"><div class="site-meta ">
164  
165
166  <div class="custom-logo-site-title">
167    <a href="/"  class="brand" rel="start">
168      <span class="logo-line-before"><i></i></span>
169      <span class="site-title">老谭笔记</span>
170      <span class="logo-line-after"><i></i></span>
171    </a>
172  </div>
173    
174      <p class="site-subtitle"></p>
175    
176</div>
177
178<div class="site-nav-toggle">
179  <button>
180    <span class="btn-bar"></span>
181    <span class="btn-bar"></span>
182    <span class="btn-bar"></span>
183  </button>
184</div>
185
186<nav class="site-nav">
187  
188
189  
190    <ul id="menu" class="menu">
191      
192        
193        <li class="menu-item menu-item-home">
194          <a href="/" rel="section">
195            
196              <i class="menu-item-icon fa fa-fw fa-home"></i> <br />
197            
198            首页
199          </a>
200        </li>
201      
202        
203        <li class="menu-item menu-item-archives">
204          <a href="/archives" rel="section">
205            
206              <i class="menu-item-icon fa fa-fw fa-archive"></i> <br />
207            
208            归档
209          </a>
210        </li>
211      
212        
213        <li class="menu-item menu-item-tags">
214          <a href="/tags" rel="section">
215            
216              <i class="menu-item-icon fa fa-fw fa-tags"></i> <br />
217            
218            标签
219          </a>
220        </li>
221      
222        
223        <li class="menu-item menu-item-about">
224          <a href="/about" rel="section">
225            
226              <i class="menu-item-icon fa fa-fw fa-user"></i> <br />
227            
228            关于
229          </a>
230        </li>
231      
232
233      
234        <li class="menu-item menu-item-search">
235          
236            <a href="javascript:;" class="st-search-show-outputs">
237          
238            
239              <i class="menu-item-icon fa fa-search fa-fw"></i> <br />
240            
241            搜索
242          </a>
243        </li>
244      
245    </ul>
246  
247
248  
249    <div class="site-search">
250      
251  <form class="site-search-form">
252  <input type="text" id="st-search-input" class="st-search-input st-default-search-input" />
253</form>
254
255<script type="text/javascript">
256  (function(w,d,t,u,n,s,e){w['SwiftypeObject']=n;w[n]=w[n]||function(){
257    (w[n].q=w[n].q||[]).push(arguments);};s=d.createElement(t);
258    e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
259  })(window,document,'script','//s.swiftypecdn.com/install/v2/st.js','_st');
260
261  _st('install', 'Myzn8MXQwxivhKpZtE6L','2.0.0');
262</script>
262
263
264
265
266    </div>
267  
268</nav>
269
270
271
272 </div>
273    </header>
274
275    <main id="main" class="main">
276      <div class="main-inner">
277        <div class="content-wrap">
278          <div id="content" class="content">
279            
280
281  <section id="posts" class="posts-collapse">
282    <span class="archive-move-on"></span>
283
284    <span class="archive-page-counter">
285      
286      
287       
288        
289      非常好! 目前共计 152 篇日志。 继续努力。
290    </span>
291
292    
293
294      
295      
296      
297
298      
299        
300        <div class="collection-title">
301          <h2 class="archive-year motion-element" id="archive-year-2017">2017</h2>
302        </div>
303      
304      
305
306      
307
308  <article class="post post-type-normal" itemscope itemtype="http://schema.org/Article">
309    <header class="post-header">
310
311      <h1 class="post-title">
312        
313            <a class="post-title-link" href="/talk/170924.html/" itemprop="url">
314              
315                <span itemprop="name">从腾讯到阿里巴巴</span>
316              
317            </a>
318        
319      </h1>
320
321      <div class="post-meta">
322        <time class="post-time" itemprop="dateCreated"
323              datetime="2017-09-24T19:31:00+08:00"
324              content="2017-09-24" >
325          09-24
326        </time>
327      </div>
328
329    </header>
330  </article>
331
332
333
334    
335
336      
337      
338      
339
340      
341        
342        <div class="collection-title">
343          <h2 class="archive-year motion-element" id="archive-year-2016">2016</h2>
344        </div>
345      
346      
347
348      
349
350  <article class="post post-type-normal" itemscope itemtype="http://schema.org/Article">
351    <header class="post-header">
352
353      <h1 class="post-title">
354        
355            <a class="post-title-link" href="/code/161127.html/" itemprop="url">
356              
357                <span itemprop="name">Swift服务端Web框架Kitura初体验</span>
358              
359            </a>
360        
361      </h1>
362
363      <div class="post-meta">
364        <time class="post-time" itemprop="dateCreated"
365              datetime="2016-11-27T23:31:00+08:00"
366              content="2016-11-27" >
367          11-27
368        </time>
369      </div>
370
371    </header>
372  </article>
373
374
375
376    
377
378      
379      
380      
381
382      
383      
384
385      
386
387  <article class="post post-type-normal" itemscope itemtype="http://schema.org/Article">
388    <header class="post-header">
389
390      <h1 class="post-title">
391        
392            <a class="post-title-link" href="/code/160723.html/" itemprop="url">
393              
394                <span itemprop="name">Method Swizzling的各种姿势</span>
395              
396            </a>
397        
398      </h1>
399
400      <div class="post-meta">
401        <time class="post-time" itemprop="dateCreated"
402              datetime="2016-07-24T00:37:00+08:00"
403              content="2016-07-24" >
404          07-24
405        </time>
406      </div>
407
408    </header>
409  </article>
410
411
412
413    
414
415      
416      
417      
418
419      
420      
421
422      
423
424  <article class="post post-type-normal" itemscope itemtype="http://schema.org/Article">
425    <header class="post-header">
426
427      <h1 class="post-title">
428        
429            <a class="post-title-link" href="/code/160702.html/" itemprop="url">
430              
431                <span itemprop="name">使用NSProxy和NSObject设计代理类的差异</span>
432              
433            </a>
434        
435      </h1>
436
437      <div class="post-meta">
438        <time class="post-time" itemprop="dateCreated"
439              datetime="2016-07-02T22:49:00+08:00"
440              content="2016-07-02" >
441          07-02
442        </time>
443      </div>
444
445    </header>
446  </article>
447
448
449
450    
451
452      
453      
454      
455
456      
457      
458
459      
460
461  <article class="post post-type-normal" itemscope itemtype="http://schema.org/Article">
462    <header class="post-header">
463
464      <h1 class="post-title">
465        
466            <a class="post-title-link" href="/pieces/160626.html/" itemprop="url">
467              
468                <span itemprop="name">为对象添加一个释放时触发的block</span>
469              
470            </a>
471        
472      </h1>
473
474      <div class="post-meta">
475        <time class="post-time" itemprop="dateCreated"
476              datetime="2016-06-26T18:42:00+08:00"
477              content="2016-06-26" >
478          06-26
479        </time>
480      </div>
481
482    </header>
483  </article>
484
485
486
487    
488
489      
490      
491      
492
493      
494        
495        <div class="collection-title">
496          <h2 class="archive-year motion-element" id="archive-year-2015">2015</h2>
497        </div>
498      
499      
500
501      
502
503  <article class="post post-type-normal" itemscope itemtype="http://schema.org/Article">
504    <header class="post-header">
505
506      <h1 class="post-title">
507        
508            <a class="post-title-link" href="/code/151113.html/" itemprop="url">
509              
510                <span itemprop="name">iOS实时卡顿监控</span>
511              
512            </a>
513        
514      </h1>
515
516      <div class="post-meta">
517        <time class="post-time" itemprop="dateCreated"
518              datetime="2015-11-21T14:25:00+08:00"
519              content="2015-11-21" >
520          11-21
521        </time>
522      </div>
523
524    </header>
525  </article>
526
527
528
529    
530
531      
532      
533      
534
535      
536      
537
538      
539
540  <article class="post post-type-normal" itemscope itemtype="http://schema.org/Article">
541    <header class="post-header">
542
543      <h1 class="post-title">
544        
545            <a class="post-title-link" href="/code/150911.html/" itemprop="url">
546              
547                <span itemprop="name">Protocol Buffer搭建及示例</span>
548              
549            </a>
550        
551      </h1>
552
553      <div class="post-meta">
554        <time class="post-time" itemprop="dateCreated"
555              datetime="2015-09-01T20:58:25+08:00"
556              content="2015-09-01" >
557          09-01
558        </time>
559      </div>
560
561    </header>
562  </article>
563
564
565
566    
567
568      
569      
570      
571
572      
573      
574
575      
576
577  <article class="post post-type-normal" itemscope itemtype="http://schema.org/Article">
578    <header class="post-header">
579
580      <h1 class="post-title">
581        
582            <a class="post-title-link" href="/talk/150725.html/" itemprop="url">
583              
584                <span itemprop="name">将多说评论导入到Disqus</span>
585              
586            </a>
587        
588      </h1>
589
590      <div class="post-meta">
591        <time class="post-time" itemprop="dateCreated"
592              datetime="2015-07-25T12:20:25+08:00"
593              content="2015-07-25" >
594          07-25
595        </time>
596      </div>
597
598    </header>
599  </article>
600
601
602
603    
604
605      
606      
607      
608
609      
610      
611
612      
613
614  <article class="post post-type-normal" itemscope itemtype="http://schema.org/Article">
615    <header class="post-header">
616
617      <h1 class="post-title">
618        
619            <a class="post-title-link" href="/project/150718.html/" itemprop="url">
620              
621                <span itemprop="name">Widget在Dashboard之外的延续</span>
622              
623            </a>
624        
625      </h1>
626
627      <div class="post-meta">
628        <time class="post-time" itemprop="dateCreated"
629              datetime="2015-07-18T22:23:55+08:00"
630              content="2015-07-18" >
631          07-18
632        </time>
633      </div>
634
635    </header>
636  </article>
637
638
639
640    
641
642      
643      
644      
645
646      
647      
648
649      
650
651  <article class="post post-type-normal" itemscope itemtype="http://schema.org/Article">
652    <header class="post-header">
653
654      <h1 class="post-title">
655        
656            <a class="post-title-link" href="/code/150608.html/" itemprop="url">
657              
658                <span itemprop="name">解决NSData中包含非法UTF-8编码</span>
659              
660            </a>
661        
662      </h1>
663
664      <div class="post-meta">
665        <time class="post-time" itemprop="dateCreated"
666              datetime="2015-06-08T23:01:55+08:00"
667              content="2015-06-08" >
668          06-08
669        </time>
670      </div>
671
672    </header>
673  </article>
674
675
676
677    
678
679  </section>
680
681  
682  <nav class="pagination">
683    <span class="page-number current">1</span><a class="page-number" href="/archives/page/2/">2</a><span class="space">&hellip;</span><a class="page-number" href="/archives/page/16/">16</a><a class="extend next" rel="next" href="/archives/page/2/"><i class="fa fa-angle-right"></i></a>
684  </nav>
685
686
687
688
689          </div>
690          
691
692
693          
694
695        </div>
696        
697          
698  
699  <div class="sidebar-toggle">
700    <div class="sidebar-toggle-line-wrap">
701      <span class="sidebar-toggle-line sidebar-toggle-line-first"></span>
702      <span class="sidebar-toggle-line sidebar-toggle-line-middle"></span>
703      <span class="sidebar-toggle-line sidebar-toggle-line-last"></span>
704    </div>
705  </div>
706
707  <aside id="sidebar" class="sidebar">
708    <div class="sidebar-inner">
709
710      
711
712      
713
714      <section class="site-overview sidebar-panel sidebar-panel-active">
715        <div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
716          <img class="site-author-image" itemprop="image"
717               src="/avatar.jpg"
718               alt="TanHao" />
719          <p class="site-author-name" itemprop="name">TanHao</p>
720          <p class="site-description motion-element" itemprop="description">程序的世界让我着迷...</p>
721        </div>
722        <nav class="site-state motion-element">
723        
724          
725            <div class="site-state-item site-state-posts">
726              <a href="/archives">
727                <span class="site-state-item-count">152</span>
728                <span class="site-state-item-name">日志</span>
729              </a>
730            </div>
731          
732
733          
734            <div class="site-state-item site-state-categories">
735              
736                <span class="site-state-item-count">5</span>
737                <span class="site-state-item-name">分类</span>
738              
739            </div>
740          
741
742          
743            <div class="site-state-item site-state-tags">
744              <a href="/tags">
745                <span class="site-state-item-count">87</span>
746                <span class="site-state-item-name">标签</span>
747              </a>
748            </div>
749          
750
751        </nav>
752
753        
754
755        <div class="links-of-author motion-element">
756          
757        </div>
758
759        
760        
761
762        
763        
764          <div class="links-of-blogroll motion-element links-of-blogroll-inline">
765            <div class="links-of-blogroll-title">
766              <i class="fa  fa-fw fa-globe"></i>
767              
768            </div>
769            <ul class="links-of-blogroll-list">
770              
771                <li class="links-of-blogroll-item">
772                  <a href="http://www.weisay.com/blog/" title="威言威语" target="_blank">威言威语</a>
773                </li>
774              
775                <li class="links-of-blogroll-item">
776                  <a href="http://www.llku.com/" title="路路库" target="_blank">路路库</a>
777                </li>
778              
779                <li class="links-of-blogroll-item">
780                  <a href="https://www.fourfire.cc/" title="FourFire" target="_blank">FourFire</a>
781                </li>
782              
783                <li class="links-of-blogroll-item">
784                  <a href="http://maccocoa.com/" title="MacCocoa" target="_blank">MacCocoa</a>
785                </li>
786              
787                <li class="links-of-blogroll-item">
788                  <a href="http://bbs.cocoachina.com/" title="CocoaChina" target="_blank">CocoaChina</a>
789                </li>
790              
791            </ul>
792          </div>
793        
794
795        
796
797
798      </section>
799
800      
801
802    </div>
803  </aside>
804
805
806        
807      </div>
808    </main>
809
810    <footer id="footer" class="footer">
811      <div class="footer-inner">
812        <div class="copyright" >
813  
814  &copy;  2011 - 
815  <span itemprop="copyrightYear">2017</span>
816  <span class="with-love">
817    <i class="fa fa-heart"></i>
818  </span>
819  <span class="author" itemprop="copyrightHolder">TanHao</span>
820</div>
821
822
823<div class="powered-by">
824  由 <a class="theme-link" href="https://hexo.io">Hexo</a> 强力驱动
825</div>
826
827<div class="theme-info">
828  主题 -
829  <a class="theme-link" href="https://github.com/iissnan/hexo-theme-next">
830    NexT.Pisces
831  </a>
832</div>
833
834
835        
836
837        
838      </div>
839    </footer>
840
841    <div class="back-to-top">
842      <i class="fa fa-arrow-up"></i>
843    </div>
844  </div>
845
846  
847
848<script type="text/javascript">
849  if (Object.prototype.toString.call(window.Promise) !== '[object Function]') {
850    window.Promise = null;
851  }
852</script>
852
853
854
855
856
857
858
859
860
861
862  
863
864
865
866  
867  
867<script type="text/javascript" src="/lib/jquery/index.js?v=2.1.3"></script>
867
868
869  
870  
870<script type="text/javascript" src="/lib/fastclick/lib/fastclick.min.js?v=1.0.6"></script>
870
871
872  
873  
873<script type="text/javascript" src="/lib/jquery_lazyload/jquery.lazyload.js?v=1.9.7"></script>
873
874
875  
876  
876<script type="text/javascript" src="/lib/velocity/velocity.min.js?v=1.2.1"></script>
876
877
878  
879  
879<script type="text/javascript" src="/lib/velocity/velocity.ui.min.js?v=1.2.1"></script>
879
880
881  
882  
882<script type="text/javascript" src="/lib/fancybox/source/jquery.fancybox.pack.js?v=2.1.5"></script>
882
883
884
885  
886
887
888  
888<script type="text/javascript" src="/js/src/utils.js?v=5.1.0"></script>
888
889
890  
890<script type="text/javascript" src="/js/src/motion.js?v=5.1.0"></script>
890
891
892
893
894  
895  
896
897
898  
898<script type="text/javascript" src="/js/src/affix.js?v=5.1.0"></script>
898
899
900  
900<script type="text/javascript" src="/js/src/schemes/pisces.js?v=5.1.0"></script>
900
901
902
903
904  
905  
906    
906<script type="text/javascript" id="motion.page.archive">
907      $('.archive-year').velocity('transition.slideLeftIn');
908    </script>
908
909  
910
911
912  
913
914
915  
915<script type="text/javascript" src="/js/src/bootstrap.js?v=5.1.0"></script>
915
916
917
918
919  
920
921
922
923  
924
925
926
927
928	
929
930
931
932
933
934  
935
936
937
938
939  
940  
941
942  
943
944  
945
946  
947
948  
949
950
951</body>
952</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.