iOS筆記之每日心得2

更改拆分視圖的上下分,左右分
菜單欄view下assistantEditor

拖進項目的文件夾一定要選new group。文件夾是黃色的才可以直接通過文件名到訪問,如果是藍色的要加上文件路徑才可以訪問

約束不要隨便添加,老是用addMissingConstrains應該想好邏輯之后再加就水到渠成了
約束中有aspectRatio很好用控制寬高比
還有選中多個水平豎直對齊
或者單個直接選擇在視圖中居中
只有豎屏的情況下 把sizeClasses改為any,any.
preView狀態下實時檢測約束是否正確
下面有個加號可以直接添加
基本就可以搞定了

驚奇的發現拖進去的圖片算是項目源文件,在Bundle文件夾下,而下載保存的圖片一般放在Data/documents文件夾下

終端里按tab鍵直接出來
按↑↓切換出之前的
cd space 把文件拖到終端
./執行某個文件

if不加花括號就是一行的作用域

iPad和iPhone的區別
ipadMini等比例縮放,不需要再另作適配
多了退出鍵盤的按鈕
多了splitVC(少用)和popoverC(超高)
ipad3開始就是retina了
共有api差異:
actionSheet在中間
iphone只三個方向(不能上下顛倒)
ipad4個
最大的差異在于橫豎屏適配

***像safari一樣滑動隱藏navibar
self.naviController.hidesBarsOnSwipe=Yes;

1.要使用到c++的內容隨便找個文件改為。mm即可
2.build setting
apple languageC++
C== language

關于MRC
通過引用計數器RetainCounter來進行內存管理。
被retain時,RC+1,被release,RC-1,
將其放入autoreleasePool里時,到池外就release了
storyBoard連線在controller里是weak,
兩者持有對象時都要給對象的RC+1,就是因為不+1的話,A把對象release掉B就不能用了。
而因為storyBoard一直存在,持有對象的引用,所以不必擔心這個問題,Controller給它weak就可以了。
Delegate屬性也是weak。
原因也是對象本來就自己存在,自己管自己,不需要通過這個屬性來持有它,所以也給weak
然后NSString 既可以給Strong也可以給copy
就是因為其RC是個超級大的值,retain,release都無所謂。

使用ARC時要注意的一些問題,比如用self.和實例變量都可以,但是一定要小心,要統一代碼風格,不要一會兒self.一會兒_,不然容易循環引用。
block里面的self也要注意,不要循環引用。

驗證是否是合法的郵箱地址

-(BOOL) NSStringIsValidEmail:(NSString *)checkString
{
   BOOL stricterFilter = YES; // Discussion 
   NSString *stricterFilterString = @"[A-Z0-9a-z\\._%+-]+@([A-Za-z0-9-]+\\.)+[A-Za-z]{2,4}";
   NSString *laxString = @".+@([A-Za-z0-9]+\\.)+[A-Za-z]{2}[A-Za-z]*";
   NSString *emailRegex = stricterFilter ? stricterFilterString : laxString;
   NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
   return [emailTest evaluateWithObject:checkString];
}

masonry輕量級的布局框架,優雅的鏈式語法封裝自動布局,簡潔明了可讀性強

NSPredicate用于查詢,相當于SQL的where,數據庫的過濾

***很重要的關于block和AFNetWorking 的問題
AFNetWorking
想將networking里的responseObject解析后的數據傳給其他值
不可以使用函數返回值
AFNetworking發起get請求后,請求成功的回調success與請求失敗的回調failure會在子線程里執行,而你的return _dataArr會在主線程里執行,這種block的回調機制是異步執行的,雖然你把[_dataArr addObject:model];寫在了return _dataArr前,你以為寫在前面的就會先執行(同一個線程里會是那樣),實際上這里這兩句代碼分屬于不同的線程。在這里,先執行return _dataAr,所以返回的結果為空。
Block體只可以訪問并修改全局變量,全局靜態變量,局部靜態變量,對象的成員變量,對象的屬性,__block修飾的局部變量,其余的均只可訪問,不能修改。

把文件夾拖到個人收藏拖過去就有快捷方式了

最好不要出現中文不要出現空格

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • *面試心聲:其實這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結起來就是把...
    Dove_iOS閱讀 27,210評論 30 471
  • 1.屬性readwrite,readonly,assign,retain,copy,nonatomic 各是什么作...
    曾令偉閱讀 1,080評論 0 10
  • 序言 目前形勢,參加到iOS隊伍的人是越來越多,甚至已經到供過于求了。今年,找過工作人可能會更深刻地體會到今年的就...
    Jack_lin閱讀 78,532評論 110 1,945
  • 來自網絡 序言 目前形勢,參加到iOS隊伍的人是越來越多,甚至已經到供過于求了。今年,找過工作人可能會更深刻地體會...
    用心在飛閱讀 846評論 5 4
  • OC的理解與特性 OC作為一門面向對象的語言,自然具有面向對象的語言特性:封裝、繼承、多態。它既具有靜態語言的特性...
    克魯德李閱讀 458評論 0 0