在工作中遇到的問題匯總2

1. 關(guān)于push和pop的一些跳轉(zhuǎn)方法

方法一:代理
方法二:通知

2. 關(guān)于使用Cornerstone合并后.xcodeproj文件打不開的情況

解決辦法:1.在Finder中找到項目對應(yīng)的.xcodeproj,右鍵點擊選擇顯示包內(nèi)容
        2.雙擊打開project.pbxproj文件
        3.找到類似如下的沖突信息(可用command + f  搜索)
        4.刪除<<<<<<.mine
             ======
          >>>>>>>>>.r269
        5.保存文件,退出x-code 重新打開即可

3. UIAppearance的用法

我們可以通過UIAppearance設(shè)置一些UI的全局效果,這樣就能很方便的實現(xiàn)UI的自定義效果又能最簡單的實現(xiàn)統(tǒng)一界面風(fēng)格

  //統(tǒng)一修改某個控件的UI風(fēng)格
  +(id)appearance
  //修改多個控件的UI風(fēng)格
  +(id)appearanceWhenContainedIn:(nullable Class <>)ContainerClass, ...

4. 獲取當(dāng)前的設(shè)備的系統(tǒng)版本號

  //獲取當(dāng)前設(shè)備的系統(tǒng)版本號
  [UIDevice currentDevice].systemVersion.floatValue

5. UITableView的contentInset的屬性

  //官方解釋,添加額外的滾動附近區(qū)域的內(nèi)容
  UITableView *tableView = [UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain];
  //該屬性在這里表示添加向上20個像素的額外滾動區(qū)域
  tableView.contentInset = UIEdgeInsetsMake(20,0,0,0);

6. 命令行的基本使用

看桌面下有什么文件 :ls desktop 回車

看桌面中的某一個文件夾下面有什么文件:ls desktop/文件名 回車

到指定的文件(如果該文件在桌面) cd desktop/文件名 回車

7. 類目的基本格式

在這里以AppDelegate類為例

  在項目中是以AppDelegate+(自定義的名字)存在
  在.h和.m文件中是以AppDelegate (自定義的名字)存在

8. Localizable.strings文件的創(chuàng)建

在項目中,我們可能會涉及到多語言app的開發(fā),這時Localizable.strings文件便可以派上用場了

第一步,在Supporting Files文件下創(chuàng)建Localizable.strings文件

在Resource下找到Strings File文件

第二步

Save As后面的文件名一定要是Localizable.strings

第三步 將Localizable.strings的English勾選上

點擊Localize,選擇English

第四步 在PROJECT中的info下找到Localizations屬性,為其添加中文屬性

點擊+號,點擊Chinese(Simplified)(zh-Hans)

第五步

勾選Localizable.strings,點擊Finish

第六步 將對應(yīng)的key和value寫在對應(yīng)的語言文件下

不同語言的文件下的key要保持一致

第七步 在項目中使用

  //如果模擬器的語言設(shè)置為簡體中文,tip輸出為姓名,如果語言為English,tip輸出為name
  /*
  注意:當(dāng)NSLocalizedString沒有找到key對應(yīng)的value值時,會默認(rèn)為key值
  */
  NSString *tip = NSLocalizedString(@"test", @"name");
  NSLog(@"%@",tip);

9. 列表刷新的問題

在項目中,我們經(jīng)常會遇到這樣的情況,后一個控制器進(jìn)行某些操作后,會引起前一個列表狀態(tài)的改變,在這里提供幾種解決辦法

  1.在下一個界面,請求數(shù)據(jù)成功,發(fā)送通知給上一個界面
  2.在下一個界面,執(zhí)行某一個事件后,使用代理

10. xib的cell高度自適應(yīng)問題

傳送門http://www.cocoachina.com/ios/20140922/9717.html

11. pod install SDWebImage出現(xiàn)的問題

問題1:在命令行中輸入pod install 或者是pod update 界面 卡在Updating local specs repositories
解決辦法:將pod install 換成 pod install --verbose --no-repo-update
同理 將pod update 換成 pod update --verbose --no-repo-update

問題2:在pod安裝成功后,運行項目,在SDWebImageDownloaderOperation中報Use of undeclared identifier '_executing'; Use of undeclared identifier '_finished
原因:NSOperation.h中聲明了兩個同名的屬性
解決辦法:使用@synthesize對屬性進(jìn)行重命名,在SDWebImageDownloaderOperation類的實現(xiàn)中(@implementation SDWebImageDownloaderOperation{...}下面)添加
@synthesize executing = _executing ;
@synthesize finished = _finished;

12. pch文件的創(chuàng)建問題
問題一:如何創(chuàng)建pch文件
解決辦法:右鍵項目->new File...->在彈框的左邊中選擇other,在彈框的右邊選擇PCH File ->屬于文件名后點擊Greate

問題二:如何將創(chuàng)建好的pch文件與項目關(guān)聯(lián)起來
解決辦法:點擊TARGETS->點擊Build Settings->在其下方找到Prefix Header選項 ->雙擊,填寫"項目名/pch文件名" 例:loveFlower/PrefixHeader.pch

問題三:pch文件中導(dǎo)入<UIKit/UIKit.h>Counld not build module UIKit錯誤
解決辦法:
#ifdef OBJC
#import <UIKit/UIKit.h>
#endif

13. push后如何隱藏底部tabBar
解決辦法:

  IMViewController *viewController = [IMViewController alloc] init];
  viewController.hidesBottomBarWhenPushed = YES;
  [self.navigationController pushViewController:viewController animated:YES];

14. xib如何給多個控件居中顯示
問題:在開發(fā)過程中,我們經(jīng)常會遇到,登錄界面需要適配不同的屏幕尺寸,比如要登錄名icon和登錄名textField居中顯示。
解決辦法:

第一步:創(chuàng)建控制器時,勾選上Also create XIB file
第二步:創(chuàng)建成功之后的xib的寬和高都是600,此時在xib中把Use sizeClasses置成不打勾的狀態(tài),這樣xib的寬和高會變成320和568
第三步:拖一個view充當(dāng)背景view,然后所有的控件都加載在這個背景view上,此時我們只需對這個背景view添加一個垂直居中的約束即可
第四步:設(shè)置完之后,clear一下,然后重啟demo即可

15. 在ARC環(huán)境下如何使用MRC環(huán)境中的變量
解決辦法:在Build Phases中找到對應(yīng)的類,雙擊輸入-fno-objc-arc即可

16. 微信中點擊cell后馬上取消選中的實現(xiàn)
解決辦法:在didSelectRowAtIndexPath方法中添加一段代碼即可
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
//選中后取消選中
[tableView deselectRowAtIndexPath:indexPath animated:NO];
}

17. 在數(shù)組中使用removeObject遇到的問題

問題:使用該方法remove不掉對象?
原因:數(shù)組中對象的地址和要remove的對象地址已經(jīng)不同
解決辦法:遍歷數(shù)組,找到需要remove的對象,再調(diào)用removeObject方法
附加遇到的問題:當(dāng)我們對同一個數(shù)組在同一時間進(jìn)行多種操作時,比如在同一時間進(jìn)行插入增加和遍歷刪除,這樣就會拋錯
解決辦法:使用NSMutableArray重開一個線程

   NSMutableArray *copyArray = [NSMutableArray arrayWithArray:_selectArray];

18. tableView中取消cell的點擊效果
解決辦法:[tableView deselectRowAtIndexPath:indexPath animated:NO];

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容