ios 寫項目的時候遇到的問題及解決方案(2)

來源:互聯網
上載者:User

標籤:

11.自適應文本高度

1 NSDictionary *attributes = @{NSFontAttributeName: [UIFont systemFontOfSize:14]};2 3 CGRect rect = [text boundingRectWithSize:CGSizeMake(ViewWidth, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:attributes  context:nil];4 5 return rect.size.height;

 

 

12 iOS9 適配設定

實際上在Xcode 7中,我們建立一個iOS程式時,bitcode選項預設是設定為YES的。我們可以在”Build Settings”->”Enable Bitcode”選項中看到這個設定。

要麼讓第三方庫支援,要麼關閉target的bitcode選項。

 

13.   iOS9 HTTPs轉HTTP

 1 <key>NSAppTransportSecurity</key> 2  3     <dict> 4  5         <!--Connect to anything (this is probably BAD)--> 6  7         <key>NSAllowsArbitraryLoads</key> 8  9         <true/>10 11     </dict>

 

 

 

14.截取字串

 [str substringFromIndex:6];

substringWithRange:NSMakeRange(4,2)截取字串的一部分,從第4位開始,截取兩位

substringToIndex: n截取到第幾位

(substringFromIndex:n)字串從第n 位開始截取,直到最後 

 

16.NSScanner: nil string argument

錯誤原因是我們在調用某個方法的時候,傳入了一個Null 字元串(注意區別於字串內容為空白)作為方法參數。

我從伺服器上擷取某字串資料,考慮到有些對象不含這個字串變數,我在使用時先判斷該字串是否為空白,例如:

假設,這個字串名叫str,

先判斷if(str!=nil){

//do something

double data=[str doubleValue];

}

但是,當資料為空白時依舊報錯,

蘋果官方文檔時,有這麼一個代碼:

  1. id aValue = [arrayWithNull objectAtIndex:0];  
  2. if (aValue == nil) {  
  3.     NSLog(@"equals nil");  
  4. } else if (aValue == [NSNull null]) {  
  5.     NSLog(@"equals NSNull instance");  
  6.     if ([aValue isEqual:nil]) {  
  7.         NSLog(@"isEqual:nil");  
  8.     }  
  9. }  
  10. // output: "equals NSNull instance”

 

雖然最後我的問題解決了,我在if判斷中用

 

  1. if(![tmpNewsModel.latitude isEqual:[NSNull null]]){  
  2.     //do something  
  3. }  

問題是解決了,但是還不太理解nil和NSNull的區別?

 

17.iphone 尺寸


18.修改mac host檔案

sudo nano /etc/hosts

同樣是輸入密碼,開啟 hosts 檔案,根據你的需要對該檔案進行編輯,編輯完畢之後按 ctrl+o 儲存,

出現 File Name to Write: /etc/hosts 的時候按斷行符號確認,再按 ctrl+x 退出即可。

 

19. IOS8 設定TableView Separatorinset 分割線從邊框頂端開始   

經過測試加入下面方法 在ios7 8上都可以正常工作

 1 -(void)viewDidLayoutSubviews 2  3 { 4  5     if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) { 6  7         [self.tableView setSeparatorInset:UIEdgeInsetsMake(0,0,0,0)]; 8  9     }10 11     12 13     if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)]) {14 15         [self.tableView setLayoutMargins:UIEdgeInsetsMake(0,0,0,0)];16 17     }18 19 }20 21  22 23 -(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath24 25 {26 27     if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {28 29         [cell setSeparatorInset:UIEdgeInsetsZero];30 31     }32 33     34 35     if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {36 37         [cell setLayoutMargins:UIEdgeInsetsZero];38 39     }40 41 }

 

 

20.url   裡面不能有中文字元,需轉換否會請求出錯

 

ios 寫項目的時候遇到的問題及解決方案(2)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.