iOS 小知識點(持續更新),ios知識點持續更新

來源:互聯網
上載者:User

iOS 小知識點(持續更新),ios知識點持續更新

 

1、如何通過代碼設定Button  title的字型大小

設定Button.titleLabel.font = [UIFont systemFontOfSize:<#(CGFloat)#>] ;

 

2、擷取目前時間

    NSDate *timeDate=[NSDate date];        NSDateFormatter * dateformatter=[[NSDateFormatter alloc] init];        [dateformatter setDateFormat:@"YYYYMMddHHmmsssss"];        NSString *locationString=[dateformatter stringFromDate:timeDate];

 

3、判斷字串是否為空白字元的方法

- (BOOL) isBlankString:(NSString *)string {    if (string == nil || string == NULL) {        return YES;    }    if ([string isKindOfClass:[NSNull class]]) {        return YES;    }    if ([[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length]==0) {        return YES;    }    return NO;}

 

4、tableView最佳化

    //重新整理整個表格    [_tableView reloadData];        //重新整理當前行    [_tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];

 

5、百度地圖自訂圖釘圖片

- (BMKAnnotationView *)mapView:(BMKMapView *)view viewForAnnotation:(id <BMKAnnotation>)annotation{    // 產生重用標示identifier    static NSString *AnnotationViewID = @"AnnotationViewID";        // 檢查是否有重用的緩衝    BMKAnnotationView* annotationView = [view dequeueReusableAnnotationViewWithIdentifier:AnnotationViewID];    ((BMKPinAnnotationView*)annotationView).pinColor = BMKPinAnnotationColorGreen;    annotationView.image = [UIImage imageNamed:@"XXX.png"];}

 

6、iOS APP上架所需要的 螢幕尺寸

  640*960、640*1136、750*1334、1242*2208

 

7、iOS APP 表徵圖的尺寸

  58*58、80*80、120*120、180*180

 

8、

蘋果公司帳號申請:這個是申請方法:http://jingyan.baidu.com/article/0320e2c1d153161b87507bba.html這個是官網:https://developer.apple.com/enroll/organization/

 

9、關閉定時器

[_myTimer invalidate];

 _myTimer = nil;

 

10、鍵盤釋放第一響應

 - (BOOL)textFieldShouldReturn:(UITextField *)textField {

 [textField resignFirstResponder];

 return YES;

}

 

11、點擊UITableViewCell時,沒有點擊效果,

在cellForRowAtIndexPath:方法中寫上

cell.selectionStyle = UITableViewCellSelectionStyleNone;

 

12、使用NSJSONSerialization 返回的對象,取決於最外層是什麼,如果是{}那就是字典,[]那就是數組等

 

13、只支援豎屏,修改info.plist 檔案就可以了。找到"Supported interface orientations" 設定item 項為Portrait就可以了。這個設定為全域設定。

 

14、iOS開發

先搭架構,後畫介面,寫功能,寫介面,調試,寫適配

iOS 開發文檔 流程圖 使用者介面架構 介面 功能 適配 測試 更改
iOS 初級開發工程師 C語言基礎+swift語言基礎
      中級iOS開發工程師 iOS項目開發+UI部分+動畫圖層部分

 

15、ViewController的生命週期中各方法執行流程如下:

init—>loadView—>viewDidLoad—>viewWillApper—>viewDidApper—>viewWillDisapper—>viewDidDisapper—>viewWillUnload->viewDidUnload—>dealloc

 

16、GCD

1)運行在主線程的Main queue,通過dispatch_get_main_queue擷取。
2)並行隊列global dispatch queue,通過dispatch_get_global_queue擷取,由系統建立三個不同優先順序的dispatch queue。並行隊列的執行順序與其排入佇列的順序相同。
3)串列隊列serial queues一般用於按順序同步訪問,可建立任意數量的串列隊列,各個串列隊列之間是並發的。

17、Xcode項目中我們經常遇到因為空白資料(伺服器傳回來的資料通過JsonKit解析為之類的)導致記憶體流失進而程式崩潰的現象,這個在之前學校的時候就被坑了很多次,所以有必要封裝一個非空處理的類,由於能力有限,查看一些網上的資料,想到採用遞迴的方式處理。

解決辦法:一個老外早已在Githud有了空處理的神器:https://github.com/nicklockwood/NullSafe,只要將這個類別(Category)加入項目中就可萬事無憂,由於裡面代碼我也不太懂,所以大家自己研究下哈。

 

18、讀取plist檔案

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"provinces.plist" ofType:nil];

NSArray *arr = [NSArray arrayWithContentsOfFile:filePath];

 // 載入plist資料    //     一個NSBundle對象對應一個資源套件(圖片、音頻、視頻、plis等檔案)//     NSBundle的作用:用來訪問與之對應的資源套件內部的檔案,可以用來獲得檔案的全路徑//     項目中添加的資源都會被添加到主資源套件中//     [NSBundle mainBundle]關聯的就是項目的主資源套件    NSBundle *bundle = [NSBundle mainBundle];        // 利用mainBundle獲得plist檔案在主資源套件中的全路徑    NSString *file = [bundle pathForResource:@"shops" ofType:@"plist"];//    NSString *file = [bundle pathForResource:@"shops.plist" ofType:nil];    // 凡是參數名為File,傳遞的都是檔案的全路徑    shopsArray = [NSArray arrayWithContentsOfFile:file];

 19、懶載入:用到時再去載入,而且也只載入一次

      (1).懶載入基本

       懶載入——也稱為消極式載入,即在需要的時候才載入(效率低,佔用記憶體小)。所謂懶載入,寫的是其get方法.

       注意:如果是懶載入的話則一定要注意先判斷是否已經有了,如果沒有那麼再去進行執行個體化

      (2).使用懶載入的好處:

       好處一:不必將建立對象的代碼全部寫在viewDidLoad方法中,代碼的可讀性更強

       好處二:每個控制項的getter方法中分別負責各自的執行個體化處理,代碼彼此之間的獨立性強,松耦合

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.