iOS常用知識(shí)點(diǎn)總結(jié)一

  • 1、iOS子線程更新UI到主線程的三種方法
  • 2、給self.view畫一個(gè)類似self.layer.border的虛線邊框
  • 3笑窜、iOS畫小于1px的細(xì)線
  • 4、iOS 設(shè)置行距蹭沛,并且計(jì)算有行距的文本高度
  • 5臂寝、iOS NSData 轉(zhuǎn) Byte
  • 6、PCH 絕對(duì)路徑格式與相對(duì)路徑
  • 7摊灭、mac系統(tǒng)如何顯示或者隱藏隱形的文件夾
  • 8咆贬、Byte、char帚呼、NSData掏缎、NSString 相互轉(zhuǎn)換
  • 9、NSMutableData 的拼接煤杀、刪除眷蜈、插入

1、iOS子線程更新UI到主線程的三種方法

// 1.NSThread
[self performSelectorOnMainThread:@selector(updateUI) withObject:nil waitUntilDone:NO];
- (void)updateUI {    
// UI更新代碼    
self.alert.text = @"Thanks!";
}
// 2.NSOperationQueue
[[NSOperationQueue mainQueue] addOperationWithBlock:^{  
  // UI更新代碼    self.alert.text = @"Thanks!";    
}];
// 3.GCD
dispatch_sync(dispatch_get_main_queue(), ^{   
// UI更新代碼   
self.alert.text = @"Thanks!";
 });

2沈自、給self.view畫一個(gè)類似self.layer.border的虛線邊框

// 給self.view畫一個(gè)類似self.layer.border的虛線邊框
CAShapeLayer *border = [CAShapeLayer layer];
border.strokeColor = SLColorLine.CGColor;
border.fillColor = nil;
border.path = [UIBezierPath bezierPathWithRect:self.bounds].CGPath;
border.frame = self.bounds;
border.lineWidth = 1.f;
border.lineCap = @"square";
border.lineDashPattern = @[@4, @2];
[self.layer addSublayer:border];

3酌儒、iOS畫小于1px的細(xì)線

CALayer *layer = view.layer;
layer.borderColor = [UIColor whiteColor].CGColor;
layer.borderWidth = (1.0 / [UIScreen mainScreen].scale / 2);

4、iOS 設(shè)置行距酥泛,并且計(jì)算有行距的文本高度

[text addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:16] range:NSMakeRange(0, text.length)];
 NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
[paragraphStyle setLineSpacing:5];//調(diào)整行間距
[text addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [text length])];
[self.topicDeatil.article.content boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName : [UIFont systemFontOfSize:16]  ,NSParagraphStyleAttributeName : paragraphStyle} context:nil].size.height ;

5今豆、iOS NSData 轉(zhuǎn) Byte

在iOS中NSData轉(zhuǎn)Byte嫌拣,見到最多的NSData轉(zhuǎn)Byte的就是
    NSString *string = @"123456";
    NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];
    Byte *testByte = (Byte *)[data bytes];

但是這種方法常常是不可行的柔袁,這時(shí)候就要換下面的方法了,
    NSString *codeKey = @"123456";
    NSData *codeKeyData =  [codeKey dataUsingEncoding:NSUTF8StringEncoding];
    Byte codeKeyByteAry[codeKeyData.length];
    for (int i = 0 ; i < codeKeyData.length; i++) {
        NSData *idata = [codeKeyData subdataWithRange:NSMakeRange(i, 1)];
        codeKeyByteAry[i] =((Byte*)[idata bytes])[0];
    }

6异逐、PCH 絕對(duì)路徑格式與相對(duì)路徑

PCH 絕對(duì)路徑格式:/Users/wan/Desktop/項(xiàng)目名/項(xiàng)目名/PrefixHeader.pch捶索,
      轉(zhuǎn)化為相對(duì)路徑,如下格式$(SRCROOT)/項(xiàng)目名/PrefixHeader.pch

7灰瞻、mac系統(tǒng)如何顯示或者隱藏隱形的文件夾

一:顯示或者隱藏整個(gè)系統(tǒng)的隱形文件夾
   顯示Mac隱藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool true
   隱藏Mac隱藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool false
二:顯示或者隱藏某個(gè)目錄下的隱形文件夾
   顯示Mac隱藏文件的命令:defaults write com.apple.finder AppleShowAllFiles YES
   隱藏Mac隱藏文件的命令:defaults write com.apple.finder AppleShowAllFiles NO

8腥例、Byte、char酝润、NSData燎竖、NSString 相互轉(zhuǎn)換

//1.1、NSData --> Byte
  NSString *testString = @"1234567890";
  NSData *testData = [testString dataUsingEncoding: NSUTF8StringEncoding];
  Byte *DataByte = (Byte *)[testData bytes];
   
//1.2要销、Byte --> NSData
  Byte byte[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23};
  NSData *Bytedata = [[NSData alloc] initWithBytes:byte length:24];
  NSInteger byteLength2 = sizeof(byte2);
  NSLog(@"字節(jié)長(zhǎng)度_byteLength2= %zd",byteLength2);//byteLength2= 24
  NSLog(@"---<2.2>testByte: %s", DataByte);
  NSLog(@"---<2.2>Bytedata: %@\n ", Bytedata);

//2.1构回、 NSString 轉(zhuǎn)化為 char*
  NSString *strr = @"Test轉(zhuǎn)化123";
    const char * charA = [strr UTF8String];
  NSLog(@"charA = %s",charA);

//2.2、char* 轉(zhuǎn)化為 NSString
  NSString *charToString = [NSString stringWithUTF8String:charA];
  NSLog(@"charToString= %@ \n ",charToString);

//3.1疏咐、:NSString --> NSData
    NSString * str1 = @"hello, world!";
    NSData * data = [str1 dataUsingEncoding:NSUTF8StringEncoding];
 
//3.2纤掸、NSData --> NSString
    NSString * dataString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
    NSLog(@"---<2.1>data.bytes: %s", data.bytes);
    NSLog(@"---<2.1>dataString: %@\n ", dataString);

9、NSMutableData 的拼接浑塞、刪除借跪、插入

    NSData *strData = [@"testdata" dataUsingEncoding:NSUTF8StringEncoding];
    NSMutableData *data = [NSMutableData data];

    [data appendData:strData];
    NSLog(@"data length= %ld",data.length);
    
    // delete
    [data replaceBytesInRange:NSMakeRange(0, 4) withBytes:NULL length:0];
    NSLog(@"data length= %ld",data.length);
    
    // insert
    [data replaceBytesInRange:NSMakeRange(0, 0) withBytes:strData.bytes length:strData.length];
    NSLog(@"data length= %ld",data.length);    
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市酌壕,隨后出現(xiàn)的幾起案子掏愁,更是在濱河造成了極大的恐慌歇由,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件果港,死亡現(xiàn)場(chǎng)離奇詭異印蓖,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)京腥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門赦肃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人公浪,你說我怎么就攤上這事他宛。” “怎么了欠气?”我有些...
    開封第一講書人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵厅各,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我预柒,道長(zhǎng)队塘,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任宜鸯,我火速辦了婚禮憔古,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘淋袖。我一直安慰自己鸿市,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開白布即碗。 她就那樣靜靜地躺著焰情,像睡著了一般。 火紅的嫁衣襯著肌膚如雪剥懒。 梳的紋絲不亂的頭發(fā)上内舟,一...
    開封第一講書人閱讀 51,125評(píng)論 1 297
  • 那天,我揣著相機(jī)與錄音初橘,去河邊找鬼验游。 笑死,一個(gè)胖子當(dāng)著我的面吹牛壁却,可吹牛的內(nèi)容都是我干的批狱。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼展东,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼赔硫!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起盐肃,我...
    開封第一講書人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤爪膊,失蹤者是張志新(化名)和其女友劉穎权悟,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體推盛,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡峦阁,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了耘成。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片榔昔。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖瘪菌,靈堂內(nèi)的尸體忽然破棺而出撒会,到底是詐尸還是另有隱情,我是刑警寧澤师妙,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布诵肛,位于F島的核電站,受9級(jí)特大地震影響默穴,放射性物質(zhì)發(fā)生泄漏怔檩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一蓄诽、第九天 我趴在偏房一處隱蔽的房頂上張望薛训。 院中可真熱鬧,春花似錦若专、人聲如沸许蓖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至自阱,卻和暖如春嚎莉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背沛豌。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工趋箩, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人加派。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓叫确,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親芍锦。 傳聞我的和親對(duì)象是個(gè)殘疾皇子竹勉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353