前言:作為初級程式設計師,想要提高自己的水平,其中乙個有效的學習方法就是學習別人好的專案。本篇開始會陸續更新本人對github上開源的乙個很不錯的專案的一點點學習積累。也就是,**著別人寫的原始碼,我學到了新的什麼東西?本人愚拙,而且碼齡不多,也就三年左右,水平不高,如有挫解,還望指正。本人樂愛學習,樂於分享,廣結良緣,願意交流。當然,高手可以飄過。
另外還有官網介紹:
內容概要:
1、關於mobclick,友盟統計的使用
2、關於google analytics
3、關於debug
4、關於rdvtabbarcontroller
5、關於gcc語法
6、關於tmcache的使用
7、關於tttattributedlabel的使用
正文:
2023年3月21日
檔案:baseviewcontroller.m
1、下面**新增友盟統計,設定狀態列,**設定豎屏。
1 - (void216檔案:mobclick.h 是友盟統計的sdk介面檔案。具體使用以後補充,先知道這個類是這麼回事。}17......
18 - (void
)forcechangetoorientation:(uiinte***ceorientation)inte***ceorientation
2、下面**中用了google analytics。
關於整合這個google analytics的sdk學習的**: (外國**)
對應的國內翻譯**:
1 - (void3、下面**用了巨集定義debug列印模式)viewdidload9//
hy:新增了google analytics,google提供的免費的使用者分析服務
10//
ga11
idtracker =[[gai sharedinstance] defaulttracker];
12 [tracker set
:kgaiscreenname value:[nsstring stringwithutf8string:object_getclassname(self)]];
13[tracker send:[[gaidictionarybuilder createscreenview] build]];
14 }
- (void然後我command+click跳轉到下面**:)tabbaritemclicked
1然後我就自己建立新的****** project使用了一下:#define debuglog(s, ...) nslog(@"%s(%d): %@", __function__, __line__, [nsstring stringwithformat:(s), ##__va_args__])
4、資料夾:rdvtabbarcontroller
因為在專案原始碼中,roottabviewcontroller : rdvtabbarcontroller,所以進一步探索rdvtabbarcontroller,發現這個是第三方框架
而且github上點讚量蠻高的,**是: 。記錄以後學習學習該原始碼做了什麼?
3月24日:
5、在codingbannersview.m檔案中可以發現一枚"gcc語法":
6、關於tmcache的使用:
在coding-ios這個專案中,通過pod整合了tmcache這個框架,於是我就對這個框架進行了了解:
tmcache 是 tumblr 公司開發的乙個快速,無死鎖的並行物件快取,支援 ios 和 os x 系統。
示例**:
uiimage *img = [[uiimage alloc] initwithdata:data scale:[[uiscreen mainscreen] scale]];
[[pincache sharedcache] setobject:img forkey:@"image" block:nil]; // returns immediately
[[pincache sharedcache] objectforkey:@"image"
block:^(pincache *cache, nsstring *key, id object) ];
不過現在已經停止更新了。
然後再來看coding-ios這個專案中的乙個tmcacheextend.h和tmcacheextend.m檔案。
1#import
2#import
"tmcache.h"3
4@inte***ce
tmcache (extension)
56 +(instancetype)temporarycache;
7 +(instancetype)permanentcache;89
@end
1看的出這個拓展(但不是類別,僅僅是普通類,使用了便利構造器的用法),便利出了兩個方法:temporary(臨時的)、permanent cache(永久的快取)#import
"tmcacheextend.h"2
3#define ktemporarycache @"com.dv.cache.temporary"
4#define kpermanentcache @"com.dv.cache.permanentcache"56
@implementation
tmcache (extension)
78 +(instancetype)temporarycache
11 +(instancetype)permanentcache
1415
@end
然後在cssearchmodel.m檔案中,只用了臨時快取的方法temporarycache。
7、關於tttattributedlabel的使用
這個是點讚超過5k的第三方框架,github**是: ,簡略的中文部落格介紹可以看看: ,然後來看看coding原始碼中uitttattributedlabel.h是對tttattributedlabel的乙個繼承拓展,然後多出被使用,其中cssearchcell.h中就被使用,匯入和遵循了協議,在cssearchcell.m檔案中第32行宣告了屬性,然後建立了這個uitttattributedlabel物件:
學習Coding iOS開源專案日誌(五)
繼續,接著前面第四篇 學習coding ios開源專案日誌 四 講解coding ios開源專案。前 言 作為初級程式設計師,想要提高自己的水平,其中乙個有效的學習方法就是學習別人好的專案。本篇開始會陸續更新本人對github上開源的乙個很不 錯的專案的一點點學習積累。也就是,著別人寫的原始碼,我學...
學習Coding iOS開源專案日誌(四)
前 言 作為初級程式設計師,想要提高自己的水平,其中乙個有效的學習方法就是學習別人好的專案。本篇開始會陸續更新本人對github上開源的乙個很不 錯的專案的一點點學習積累。也就是,著別人寫的原始碼,我學到了新的什麼東西?本人愚拙,而且碼齡不多,也就三年左右,水平不高,如有挫解,還望指正。本人樂愛學習...
python scrapy開源專案學習
這個專案的架構不是怎麼複雜,但作為python的初學者,看到這個專案的這麼多 徹底暈了。俗話說,萬事開頭難,確實,開始不知如何下手,如何定製符合自己需求的蜘蛛。只知道建立乙個工程,但工程的各個模組的作用是什麼,如何把這些模組組成乙個整體,讓它真正的發揮作用。好吧,此時最笨的方法是去瞧瞧源 追蹤程式的...