iOS開發(fā)問題歸納

1掐场、做iOS 10的本地推送

  • (nullable NSURL *)URLForResource:(nullable NSString *)name withExtension:(nullable NSString *)ext API_AVAILABLE(macos(10.6), ios(4.0), watchos(2.0), tvos(9.0));返回空值

原因是需要拷貝進來
image.png

2拦止、單例

+ (instancetype)shared {
    return [[self alloc] init];
}

+ (instancetype)allocWithZone:(struct _NSZone *)zone {
    static id instance;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        instance = [super allocWithZone:zone];
    });
    return instance;
}

3、通知刷新 可以 修改為本地數(shù)據和網絡數(shù)據同時修改(eg:刪除操作post成功時狸眼,修改本地數(shù)據,減少一次網絡請求 -> 通知刷新)

4勒极、accessKey 內部校驗敞恋,進行安全驗證

5、網絡狀態(tài)碼 http://www.lampweb.org/seo/5/10.html

6、push UIImagePickerViewController灶泵? 不能push導航控制器 只能模態(tài)出來

7育八、關于網絡獲取alert問題,解決方式

1)WiFi 下赦邻,臨時啟動蜂窩網絡的無線網絡助理髓棋,就能彈出那個允許使用數(shù)據了

2)如果在權限列表里 修改別的APP的權限 這個APP可能會重新刷新 出在列表里

8、AVPlayer 循環(huán)播放 加通知 // 跳到最新的時間點開始播放 [_player seekToTime:CMTimeMake(0, 1)]; [_player play]

9惶洲、Xcode8.0 打印問題 OS_ACTIVITY_MODE -> Disable

10按声、正式包 只有描述文件,沒有證書恬吕,報錯誤xxx doesn't include signing certificate "iPhone Distribution鏈接手機也可以調試签则,因為這個開發(fā)狀態(tài)

11、swift中弱化self [weak self] in guard let strongSelf = self else { return }

12铐料、tableview去除多余空白cell tableView.tableFooterView = UIView()

13渐裂、滑動scrollView時 隱藏鍵盤 scrollView.keyboardDismissMode = .OnDrag

14、開關提示音 監(jiān)聽開關的改變狀態(tài)余赢,默認開啟芯义,APP殺死哈垢,后臺妻柒,均為后臺push一個音效,如果再APP中關閉提示音耘分,可以讓后臺中的sound字段不傳遞举塔,則無音效

15、在AppDelegate中present控制器時求泰,需要拿到主控制器去present

16央渣、nav 44,狀態(tài)欄 20渴频,tabbar 49 automaticallyAdjustsScrollViewInsets = false 恢復自定義芽丹,關閉系統(tǒng)自適應

17、UISearchBar 非謂詞:從總數(shù)組使用forin遍歷每一個item卜朗,使用item小寫使用hasPrefix比對 searchText的小寫

18拔第、富文本 鍵值對錯誤 libc++abi.dylib: terminating with uncaught exception of type NSException

19、func didUpdateRecentSession(recentSession: NIMRecentSession, totalUnreadCount: Int) {} app退到后臺可在此方法中進行對icon的badge的修改

20场钉、3DTouch 中的分享功能蚊俺,是由系統(tǒng)自動實現(xiàn)的,正常都需要進入app進行邏輯處理逛万,也就是說泳猬,正常添加item最多四個,加上分享item,最多五個

21得封、tableView的數(shù)據源文件可以使用可變數(shù)組插入新數(shù)據芦疏,并且再最后reloadData

22宴倍、枚舉能定義字符串么?

 答:OC中不能定義字符串,只能定義NSInterger和NSUInterger

23返敬、數(shù)組指定類型為什么寫枚舉不可以?

  答:OC中數(shù)組可以指定類型谴分,即“泛型”鸠天,方式   NSArray <NSString *> * arr = @[];

  在OC中,指定的類型只能為 對象類型 和 block

24手形、基類.m方法中實現(xiàn)一個私有方法啥供,子類.m方法中同名實現(xiàn)了一個私有方法,會走子類

25库糠、swift代理伙狐,協(xié)議中代理如果定義為可選類型,則需要delegate瞬欧?.doAction?() 這樣調用贷屎,防止崩潰

26、 'weak' mayonly be applied to class and class-bound protocol types

27艘虎、

  1. @objc protocol BookTiltleViewDelegate{ optional

  2. func choiceFace()

  3. }

  4. protocol BookTiltleViewDelegate:class//NSObjectProtocol{

  5. func choiceFace()

  6. }

28唉侄、tableview動畫 guideCenterView.tableView.beginUpdates()//增刪改查操作

             guideCenterView.tableView.endUpdates()

29、enumerateObjectsUsingBlock枚舉遍歷

30野建、在imageView上添加手勢需要將isUserInteractionEnabled = YES

31属划、國際化,指在本地配置文件CFBundleDisplayName(Icon),NSLocalizedString(@"buttonTitle", nil)配合使用

32候生、messary 更新約束時只需要再block中更新不同的約束就可以同眯,相同的不需要再寫一遍

33、
- (void)applicationWillEnterForeground:(UIApplication *)application {

// Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.

[application setApplicationIconBadgeNumber:0];JPUSH點擊一條push清空其他push

[application cancelAllLocalNotifications];

[JPUSHService setBadge:0];開始受到兩條推送,然后點開,角標消失,系統(tǒng)再發(fā)送推送,角標變?yōu)?

}

34唯鸭、

  1. NSString *str1 = @"can you \n speak English";
  2. let str = NSCharacterSet(charactersInString: "qwertyuiopasdfghjklzxcvbnm")
  3. //在str1這個字符串中搜索\n须蜗,判斷有沒有
  4. if ([str1 rangeOfString:str].location != NSNotFound) {
  5. NSLog(@"這個字符串中有\(zhòng)n");
  6. }
  7. //rangeOfString 前面的參數(shù)是要被搜索的字符串,后面的是要搜索的字符
  8. //NSNotFound 表示請求操作的某個內容或者item沒有發(fā)現(xiàn)目溉,或者不存在

35明肮、縮略圖可以通過設置imageView的contentmode為A-Fill再將其切掉多余的即可

36、日歷展示統(tǒng)一為公歷 formatter/datePicker.calendar = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)

37停做、GCB直連 時時刷新 長連接

38晤愧、

    //MARK: 撥打電話
    class func callPhoneNumber(number: String) {
        if UIApplication.sharedApplication().canOpenURL(NSURL(string: "telprompt://\(number)")!) {
            UIApplication.sharedApplication().openURL(NSURL(string: "telprompt://\(number)")!)
        } else {
            let alert = UIAlertView(title: "該設備不能撥打電話\n\(number)", message: nil, delegate: nil, cancelButtonTitle: "知道了")
            alert.show()
        }
    }

39、if let語法

                //如果NIMSDK.sharedSDK().conversationManager.allRecentSessions() 有值時 將對應值賦值給array蛉腌;如果沒有值時不進入代碼塊
                if let array = NIMSDK.sharedSDK().conversationManager.allRecentSessions() {
                    strongSelf.nimSessions = array
                    Print.dlog("\(strongSelf.nimSessions.count)   \(strongSelf.nimSessions.underestimateCount())")
                }
               

40官份、

當ContentSize屬性小于等于Frame時,將不會出發(fā)滾動

so -> ContentSize要大于 Frame

41只厘、關于tableviewcell動畫和tableview的左滑多選項https://github.com/pengshengsongcode/CustomTableViewAnimation

42、swift 中弱化 self
carView.changeCarClickBlock = {[weak self] in
guard let strongSelf = self else { return }

        let myCarVC = HBCMyCarViewController()
        myCarVC.hidesBottomBarWhenPushed = true
        strongSelf.belongVC?.navigationController?.pushViewController(myCarVC, animated: true)
       
    }

43舅巷、膠囊按鈕

    //設置圓角
    UIBezierPath *maskPath1 = [UIBezierPath bezierPathWithRoundedRect:self.btn.bounds byRoundingCorners:UIRectCornerAllCorners cornerRadii:CGSizeMake(100, 100)];
    CAShapeLayer *maskLayer1 = [[CAShapeLayer alloc] init];
    maskLayer1.frame = self.btn.bounds;
    maskLayer1.path = maskPath1.CGPath;
    self.btn.layer.mask = maskLayer1;

重構8嵛丁!钠右!

1赋元、語言方法異同

swift cellModel! is HBCTripFundInviteCellModel

oc[cellModel isKindOfClass:[HBCTripFundInviteCellModel class]]

2、泛型nsarray<nsstring *> *arrs

3飒房、@property (nonatomic, strong) NSMutableArray *dataList;??

@property (nonatomic,copy) NSMutableArray *dataList; 初始化搁凸,add?

4、OC枚舉不能放非NSInteger,NSUInteger,OC指定類型不能指定枚舉狠毯,只能指定對象和Block

5护糖、[[UIPasteboard generalPasteboard] setValue:aValue forPasteboardType:UIPasteboardTypeListString[0]];

6、switch case OC應用

    switch (type) {

        case 1: case 2:

        {

       }

            break;

        case 3:

        {

            HBCDailyJourneyViewController *vc = [[HBCDailyJourneyViewController alloc] init];

            [self.navigationController pushViewController:vc animated:YES];

        }

            break;

        case 4:

        {

            HBCSingleJourneyViewController *vc = [[HBCSingleJourneyViewController alloc] init];

            [self.navigationController pushViewController:vc animated:YES];

        }

            break;

        default:

            break;

    }

7嚼松、跳轉 APPStroe

    //999773808

    let commentURL = "itms-apps://itunes.[apple.com/app/id\](http://apple.com/app/id%5C)(appID)"

    let URL = NSURL(string: commentURL)

    if URL == nil {

        return

    }

    if UIApplication.sharedApplication().canOpenURL(URL!) {

        UIApplication.sharedApplication().openURL(URL!)

    }

8嫡良、動態(tài)加元素

NSMutableArray *section1 = @[].mutableCopy;

[self.hbc_sections removeAllObjects];

[self.hbc_sections addObject:section1];

9、當viewdidload結束 高版本會自動reloaddata tableview

10献酗、ios7.0 layoutSubviews 中邏輯代碼需要再[super layoutSubviews];之前寝受,否則崩潰

11、 NSData *imageData = UIImageJPEGRepresentation(img, 0.75);

    UIImage *image = [UIImage imageWithData:imageData];

    NSData *compressData = UIImageJPEGRepresentation(img, 0.4);

    UIImage *compressedImage = [UIImage imageWithData:compressData];
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末罕偎,一起剝皮案震驚了整個濱河市很澄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌锨亏,老刑警劉巖痴怨,帶你破解...
    沈念sama閱讀 219,188評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件忙干,死亡現(xiàn)場離奇詭異器予,居然都是意外死亡,警方通過查閱死者的電腦和手機捐迫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評論 3 395
  • 文/潘曉璐 我一進店門乾翔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人施戴,你說我怎么就攤上這事反浓。” “怎么了赞哗?”我有些...
    開封第一講書人閱讀 165,562評論 0 356
  • 文/不壞的土叔 我叫張陵雷则,是天一觀的道長。 經常有香客問我肪笋,道長月劈,這世上最難降的妖魔是什么度迂? 我笑而不...
    開封第一講書人閱讀 58,893評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮猜揪,結果婚禮上惭墓,老公的妹妹穿的比我還像新娘。我一直安慰自己而姐,他們只是感情好腊凶,可當我...
    茶點故事閱讀 67,917評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著拴念,像睡著了一般钧萍。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上政鼠,一...
    開封第一講書人閱讀 51,708評論 1 305
  • 那天划煮,我揣著相機與錄音,去河邊找鬼缔俄。 笑死弛秋,一個胖子當著我的面吹牛,可吹牛的內容都是我干的俐载。 我是一名探鬼主播蟹略,決...
    沈念sama閱讀 40,430評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼遏佣!你這毒婦竟也來了挖炬?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,342評論 0 276
  • 序言:老撾萬榮一對情侶失蹤状婶,失蹤者是張志新(化名)和其女友劉穎意敛,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體膛虫,經...
    沈念sama閱讀 45,801評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡草姻,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,976評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了稍刀。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片撩独。...
    茶點故事閱讀 40,115評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖账月,靈堂內的尸體忽然破棺而出综膀,到底是詐尸還是另有隱情,我是刑警寧澤局齿,帶...
    沈念sama閱讀 35,804評論 5 346
  • 正文 年R本政府宣布剧劝,位于F島的核電站,受9級特大地震影響抓歼,放射性物質發(fā)生泄漏讥此。R本人自食惡果不足惜示绊,卻給世界環(huán)境...
    茶點故事閱讀 41,458評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望暂论。 院中可真熱鬧面褐,春花似錦、人聲如沸取胎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽闻蛀。三九已至匪傍,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間觉痛,已是汗流浹背役衡。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留薪棒,地道東北人手蝎。 一個月前我還...
    沈念sama閱讀 48,365評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像俐芯,于是被迫代替她去往敵國和親棵介。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,055評論 2 355