1.定義函數(shù)時,希望傳入的參數(shù)不為nil,或者為nil時會有警告顯示:
成都創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站設(shè)計、成都做網(wǎng)站與策劃設(shè)計,金塔網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:金塔等地區(qū)。金塔做網(wǎng)站價格咨詢:18982081108
如下:
- (instanceype)initWithFoo:(NSString *)foo bar:(NSString *)bar sark:(NSString *)sark
__atttribute__((nonnull(1, 2)));
p.s. index從1開始,不是0,且只對對象生效。
該技巧同樣來自,sunnyxx大神的微信,逗比狗~
2.定義函數(shù)時,希望子類override該方法時候,必須調(diào)用super,否則編譯器直接報錯。
@interface OldSix:NSObject
- (void)fooWithNothing __attribute__((objc_requires_super));
該技巧同樣來自,sunnyxx大神的微信,逗比狗~
wait~~~~~
/*檢查子類在重寫該方法時有沒有調(diào)用自己(父類)的實現(xiàn)
*對于一些可以被繼承的類,需要子類在重某一調(diào)用父類的實現(xiàn)以保證正確的行為,通過在頭文件方法的聲明末尾添加`NS_REQUIRES_SUPER`
*可以讓編譯器檢查子類方法有調(diào)用父類的實現(xiàn)。具體使用方法如下:
* - (void)viewWillAppear:(BOOL)animated NS_REQUIRES_SUPER;
*/
但是根據(jù)我的實際測試,發(fā)現(xiàn)sunnyxx大神仙的方法,沒有任何顯示效果,不知道是不是我打開的方式不對還是怎么,
總之,NS_REQUIRES_SUPER的方法親測可用。
3.誤刪系統(tǒng)sdk頭文件的解決辦法
在終端中輸入:
$ cd ~/Library/Developer/Xcode/DerivedData/ModuleCache/
$ rm -rf *
4.ARC下打印retainCount
extern uintptr_t _objc_rootRetainCount(id obj);
id test = [NSString new];
NSLog(@"retain count %lu",_objc_rootRetainCount(test));
5.工程報錯下,仍然可以編譯成功
6.定位方法的調(diào)用者
打開12306手機端APP,升級到最新版本。(打開APP store搜索12306看右下圖標(biāo)是更新還是打開。打開即為最新版本。)因為12306這個選座服務(wù)只有最新版本才提供。
打開12306手機端APP,進入買票頁面。選擇乘車出發(fā)地與目的地和出行日期。因為目前僅在海南環(huán)島高鐵試行。我們選擇了海口東到三亞。目前這條線路已開通選座服務(wù)。
點擊搜索,進入車次列表。我們選擇需要出行的車次。這里我們選擇了早上七點五十五從??跂|出發(fā)列車(列車車次可按需選擇,我這里只是做個示范)。高鐵出發(fā)前15分鐘就可以檢票進站了,大家可以把握好時間。
我們選擇好車次后點進去。添加好乘車人,目前一次購票最多可以選擇5個人。我們按操作指示選好圖形驗證碼。這時候我們可以看到驗證碼上方有個選座服務(wù)。這就是本次操作的關(guān)鍵了。
我們點擊選座服務(wù),界面下方會彈出座位列表,這時候我們可按需要選擇座位。一般靠窗的座位會比較走俏,這里我們也選擇了靠窗座位。靠走廊的座位行動比較方便。
選好座位后,,提交訂單,立即支付(30分鐘不支付視為放棄)。支付完成后,本次選座購票操作完成。(目前選座服務(wù)只在12306手機端可操作。)如果這次小范圍的測試反響很好的話我估計以后的線路都會開通。
ios 上的開發(fā)者選項完全是為軟件開發(fā)者服務(wù)的。
(1)Instruments可以理解為是一個日志記錄工具,可以記錄下電量和網(wǎng)絡(luò)的使用情況,利用Xcode可以導(dǎo)出這些日志。
(2)Network Link Conditioner是模擬網(wǎng)絡(luò),可以讓用戶模擬不同的網(wǎng)絡(luò)連接和帶寬,可供Mac和iOS開發(fā)者測試自己的程序在不同網(wǎng)絡(luò)環(huán)境下的表現(xiàn)。
(3)還有其他選項像是IDA廣告測試、廣告刷新率測試、媒體服務(wù)測試、歐盟音量限制測試等內(nèi)容。
ios上的開發(fā)者選項,這個功能從iOS系統(tǒng)剛開始時就已經(jīng)存在了。想要打開這個功能,我們需要滿足一定的條件,首先你需要將iPhone和一臺Mac電腦相連接,然后在Mac上打開Xcode開發(fā)工具,此時你iPhone的設(shè)置里就會出現(xiàn)“開發(fā)者”這個選項了。
Jack總結(jié)了轉(zhuǎn)型的6大要點,他希望能夠幫助處在轉(zhuǎn)型和過渡期的Web設(shè)計師。Jack Groetzinger1. 用視網(wǎng)膜屏Mac做設(shè)計Jack表示,Photoshop的整體排版更適合在視網(wǎng)膜屏上顯示,當(dāng)你用視網(wǎng)膜屏Mac做設(shè)計時,你會感到自己比平時更聰明靈活,能力和水平也比平時更高。2. 要不斷地在手機上查看結(jié)果同樣的一個按鈕,在Mac上看起來大小正合適,但在iPhone上可能就顯得有點小了。Jack現(xiàn)在已形成一種習(xí)慣——時不時地在iPhone上查看設(shè)計成果。3. 單獨優(yōu)化,避免圖片簡單縮放Jack團隊在進行版本移植時,對其中一張界面圖只做了縮放處理,結(jié)果出現(xiàn)了差異:右上角“information”按鈕比較模糊,3個灰色選項按鈕不夠清晰,最下方水平線太粗。經(jīng)過對新版本界面的單獨優(yōu)化,這些問題才得以解決。當(dāng)然,Jack表示,這種做法顯得有些吹毛求疵,但如果你是個完美主義者,單獨優(yōu)化還是比較靠譜的。左圖:簡單縮放的結(jié)果;右圖:單獨優(yōu)化的結(jié)果4. 看似簡單的設(shè)計,實際上很復(fù)雜下圖顯示的單詞“every”進行了字體加粗,但這不是簡單的strong/strong標(biāo)簽組就能解決的問題。為了讓這個“every”顯示得更好看,Jack參考了許多開源字庫,并使用了NSAttributedString的函數(shù)??此坪唵蔚脑O(shè)計,實際上很復(fù)雜,更需要大量的投入和付出。SeatGeek首頁界面截圖5. 移動開發(fā)迭代速度更快,頻率更高相對來說,Web前端更容易,HTML/CSS不需要代碼基礎(chǔ)就能上手。但Obj-C顯然需要扎實的編程功底,上手速度也更慢。在Web開發(fā)過程中,先做后端程序,再設(shè)計UI界面,完全沒問題;或者先設(shè)計UI,再寫后端代碼,也沒問題。但在iOS開發(fā)過程中,修改某個元素之后,許多其他元素都需要修改,所以沒辦法讓UI和后端完全分離,最好的辦法就是同時進行,快速迭代。6. iOS產(chǎn)品發(fā)布時間更漫長眾所周知,產(chǎn)品發(fā)布送審是每個iOS產(chǎn)品人員的必修課。對于從沒接觸過此項工作的Web設(shè)計師來說,你最好單獨騰出一下午的時間,一個人安靜地研究如何發(fā)布產(chǎn)品,否則你會感到十分吃力。知識點:SeatGeek是一家創(chuàng)建于2009年的在線票務(wù)搜索比價網(wǎng)站。過去其主要涉及體育賽事的票務(wù)信息,近年來則致力于在演唱會票務(wù)領(lǐng)域有所突破。SeatGeek和傳統(tǒng)票務(wù)網(wǎng)站相比有許多創(chuàng)新之處,比如3D場館選座、交易評分、廣告贊助、演出日歷等。該網(wǎng)站今年九月份票務(wù)總收入達到250萬美元。(文章編譯:楊依帆 責(zé)任編輯:張寧)文章來源:Jackg本文為CSDN編譯整理,未經(jīng)許可或授權(quán)不得轉(zhuǎn)載。
iOS程序開發(fā)用MacBook Air的機器最好還是選擇高配置,能夠比較流暢的運行。MacBook Air這款電腦本身機身輕薄,攜帶方便,可以隨時隨地進行程序開發(fā)設(shè)計。不過還是建議真正做程序開發(fā),選擇更高端一點的MacBook Pro或者iMac。
MacBook air配置適中,機身輕薄,便于攜帶,能完成正常上網(wǎng)、接收郵件、辦公、看電影等用途,適合商務(wù)出差人士或者女士攜帶輕便電腦使用。
MacBook pro是蘋果筆記本系列中更專業(yè)的一款,相對于其他品牌的筆記本電腦,功能強大,外觀美觀,輕便攜帶,待機時間長,搭載蘋果OSX系統(tǒng),處理圖片、編程、剪輯等功能得心應(yīng)手,硬件上設(shè)計也十分人性化,鍵盤、鼠標(biāo)都能讓使用者感受到方便。