使用總結(jié)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

3.5寸:橫堅(jiān)屏 640 *960 或960 *640
4寸:橫堅(jiān)屏 640 *1036 或1036 *640
4.7寸:橫堅(jiān)屏 750 *1334 或1334 *750
5.5寸:橫堅(jiān)屏 1242 *2208 或2208 *1242
ipad:橫堅(jiān)屏 1024 *768 或768 *1024

一鍵生成icon尺寸 http://ydimage.yidianhulian.com/

功能大全:http://www.cocoachina.com/special/20161229/18477.html
播放器 : https://lhc70000.github.io/iina/
超牛逼的工具集合 :https://github.com/62303434/AwesomeTools
優(yōu)秀的博客:https://github.com/tangqiaoboy/iOSBlogCN
Xcode 代碼格式化: Ctrl+I

*抓取日志并解析

  1. 改為.crash后綴
    2.選擇 view device logs;
8DE18528-DD81-41DD-825D-95DF0F9A12AA.png

3.把內(nèi)容清空以后把.crash文件推進(jìn)去

B4860B38-CCEA-4034-BFF8-CCA40FC4E5AC.png

4.找到last Exception Backtrace 看看崩在哪了

添加陰影shadowPath

添加QuartzCore框架到項(xiàng)目中(如果不存在的話)
導(dǎo)入QuartzCore到您的執(zhí)行文件
[_backGroundView.layer setShadowOpacity:1];
[_backGroundView.layer setShadowPath:[[UIBezierPath bezierPathWithRect:_backGroundView.bounds] CGPath]];

優(yōu)化

優(yōu)化Table View

Table view需要有很好的滾動(dòng)性能,不然用戶會(huì)在滾動(dòng)過(guò)程中發(fā)現(xiàn)動(dòng)畫的瑕疵刺彩。

為了保證table view平滑滾動(dòng)壮锻,確保你采取了以下的措施:

· 正確使用reuseIdentifier來(lái)重用cells

· 盡量使所有的view opaque徘层,包括cell自身

· 避免漸變蹈垢,圖片縮放瞧挤,后臺(tái)選人

· 緩存行高

· 如果cell內(nèi)現(xiàn)實(shí)的內(nèi)容來(lái)自web屉凯,使用異步加載父虑,緩存請(qǐng)求結(jié)果

· 使用shadowPath來(lái)畫陰影

· 減少subviews的數(shù)量

· 盡量不適用cellForRowAtIndexPath:,如果你需要用到它逸爵,只用一次然后緩存結(jié)果

· 使用正確的數(shù)據(jù)結(jié)構(gòu)來(lái)存儲(chǔ)數(shù)據(jù)

· 使用rowHeight, sectionFooterHeightsectionHeaderHeight來(lái)設(shè)定固定的高具滴,不要請(qǐng)求delegate

在Model中找ViewContoller

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];
PublicDetailViewController *detailController = [storyboard instantiateViewControllerWithIdentifier:@"PublicDetailViewController"];
detailController.publicModel = publicModel;
[superController.navigationController pushViewController:detailController animated:YES];

打包發(fā)布時(shí)去掉所有的NSLog:NSLog打印比較耗費(fèi)性能,特別是打印字符串的拼接师倔,解決方法可以在pch文件中定義一個(gè)宏來(lái)替換NSLog构韵,用自己定義的log函數(shù),等到發(fā)布之前將自己的定義注釋掉

當(dāng)創(chuàng)建了大量的臨時(shí)對(duì)象時(shí),最好加入autorelesaepool保證對(duì)象及時(shí)的釋放

-----------------Method swizzle 全局AOE-----------------

+ (void)load
{
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
    
    Class class = [self class];
    SEL originalSelector = @selector(init);
    SEL swizzledSelector = @selector(swizzleinit);
    Method swizzledMethod = class_getInstanceMethod(class, swizzledSelector);
    Method originalMethod = class_getInstanceMethod(class, originalSelector);
    class_addMethod(class,originalSelector,method_getImplementation(swizzledMethod),method_getTypeEncoding(swizzledMethod));
    class_replaceMethod(class, swizzledSelector, method_getImplementation(originalMethod), method_getTypeEncoding(originalMethod));

  //        [self exchangeSelector:@selector(init) withSelector:@selector(swizzleinit) class:self];
});
  }

統(tǒng)計(jì)項(xiàng)目代碼行數(shù)

find.-name".m"-or-name".h"-or-name".xib"-or-name".c"|xargswc-l

RAC 多功能用途的簡(jiǎn)單使用

http://www.cnblogs.com/taoxu/p/5753124.html

GCD 代碼 : http://git.oschina.net/fengyingjie/gcd/blob/master/FYJ_GCD/FYJ_GCD/ViewController.m?dir=0&filepath=FYJ_GCD%2FFYJ_GCD%2FViewController.m&oid=de9b56e3c1116dce34d9cbe61b02836acb7c4c0f&sha=dc57fd791361ae721a772f323eaa01ed282572fd

//異步執(zhí)行 + 并行隊(duì)列
- (void)asyncConcurrent{
//創(chuàng)建一個(gè)并行隊(duì)列
dispatch_queue_t queue = dispatch_queue_create("標(biāo)識(shí)符", DISPATCH_QUEUE_CONCURRENT);

    NSLog(@"---start---");

    //使用異步函數(shù)封裝三個(gè)任務(wù)
    dispatch_async(queue, ^{
    NSLog(@"任務(wù)1---%@", [NSThread currentThread]);
    });
    dispatch_async(queue, ^{
    NSLog(@"任務(wù)2---%@", [NSThread currentThread]);
    });
dispatch_async(queue, ^{
    NSLog(@"任務(wù)3---%@", [NSThread currentThread]);
});

NSLog(@"---end---");
}

打印結(jié)果:
---start---
---end---
任務(wù)3---{number = 5, name = (null)}
任務(wù)2---{number = 4, name = (null)}
任務(wù)1---{number = 3, name = (null)}

//異步執(zhí)行 + 串行隊(duì)列
- (void)asyncSerial{
//創(chuàng)建一個(gè)串行隊(duì)列
dispatch_queue_t queue = dispatch_queue_create("標(biāo)識(shí)符", DISPATCH_QUEUE_SERIAL);

NSLog(@"---start---");
//使用異步函數(shù)封裝三個(gè)任務(wù)
dispatch_async(queue, ^{
    NSLog(@"任務(wù)1---%@", [NSThread currentThread]);
});
dispatch_async(queue, ^{
    NSLog(@"任務(wù)2---%@", [NSThread currentThread]);
});
dispatch_async(queue, ^{
    NSLog(@"任務(wù)3---%@", [NSThread currentThread]);
});
NSLog(@"---end---");
}

打印結(jié)果:

---start---
---end---
任務(wù)1---{number = 3, name = (null)}
任務(wù)2---{number = 3, name = (null)}
任務(wù)3---{number = 3, name = (null)}

(三)同步執(zhí)行 + 并行隊(duì)列

實(shí)現(xiàn)代碼:
//同步執(zhí)行 + 并行隊(duì)列
- (void)syncConcurrent{
//創(chuàng)建一個(gè)并行隊(duì)列
dispatch_queue_t queue = dispatch_queue_create("標(biāo)識(shí)符", DISPATCH_QUEUE_CONCURRENT);

NSLog(@"---start---");
//使用同步函數(shù)封裝三個(gè)任務(wù)
dispatch_sync(queue, ^{
    NSLog(@"任務(wù)1---%@", [NSThread currentThread]);
});
dispatch_sync(queue, ^{
    NSLog(@"任務(wù)2---%@", [NSThread currentThread]);
});
dispatch_sync(queue, ^{
    NSLog(@"任務(wù)3---%@", [NSThread currentThread]);
});
NSLog(@"---end---");
  }

打印結(jié)果:
---start---
任務(wù)1---{number = 1, name = main}
任務(wù)2---{number = 1, name = main}
任務(wù)3---{number = 1, name = main}
---end---

(四)同步執(zhí)行+ 串行隊(duì)列

實(shí)現(xiàn)代碼:
- (void)syncSerial{
//創(chuàng)建一個(gè)串行隊(duì)列
dispatch_queue_t queue = dispatch_queue_create("標(biāo)識(shí)符", DISPATCH_QUEUE_SERIAL);

NSLog(@"---start---");
//使用異步函數(shù)封裝三個(gè)任務(wù)
dispatch_sync(queue, ^{
    NSLog(@"任務(wù)1---%@", [NSThread currentThread]);
});
dispatch_sync(queue, ^{
    NSLog(@"任務(wù)2---%@", [NSThread currentThread]);
});
dispatch_sync(queue, ^{
    NSLog(@"任務(wù)3---%@", [NSThread currentThread]);
});
NSLog(@"---end---");
}

打印結(jié)果:
---start---
任務(wù)1---{number = 1, name = main}
任務(wù)2---{number = 1, name = main}
任務(wù)3---{number = 1, name = main}
---end---

(五)異步執(zhí)行+主隊(duì)列

實(shí)現(xiàn)代碼:
- (void)asyncMain{
//獲取主隊(duì)列
dispatch_queue_t queue = dispatch_get_main_queue();

NSLog(@"---start---");
//使用異步函數(shù)封裝三個(gè)任務(wù)
dispatch_async(queue, ^{
    NSLog(@"任務(wù)1---%@", [NSThread currentThread]);
});
dispatch_async(queue, ^{
    NSLog(@"任務(wù)2---%@", [NSThread currentThread]);
});
dispatch_async(queue, ^{
    NSLog(@"任務(wù)3---%@", [NSThread currentThread]);
});
NSLog(@"---end---");
}

打印結(jié)果:
---start---
---end---
任務(wù)1---{number = 1, name = main}
任務(wù)2---{number = 1, name = main}
任務(wù)3---{number = 1, name = main}

(六)同步執(zhí)行+主隊(duì)列(死鎖)

實(shí)現(xiàn)代碼:
- (void)syncMain{
//獲取主隊(duì)列
dispatch_queue_t queue = dispatch_get_main_queue();

NSLog(@"---start---");
//使用同步函數(shù)封裝三個(gè)任務(wù)
dispatch_sync(queue, ^{
    NSLog(@"任務(wù)1---%@", [NSThread currentThread]);
});
dispatch_sync(queue, ^{
    NSLog(@"任務(wù)2---%@", [NSThread currentThread]);
});
dispatch_sync(queue, ^{
    NSLog(@"任務(wù)3---%@", [NSThread currentThread]);
});
NSLog(@"---end---");
}

打印結(jié)果:
---start---
解釋

主隊(duì)列中的任務(wù)必須按順序挨個(gè)執(zhí)行

任務(wù)1要等主線程有空的時(shí)候(即主隊(duì)列中的所有任務(wù)執(zhí)行完)才能執(zhí)行

主線程要執(zhí)行完“打印end”的任務(wù)后才有空

“任務(wù)1”和“打印end”兩個(gè)任務(wù)互相等待贞绳,造成死鎖
相關(guān)博客:http://blog.csdn.net/totogo2010/article/details/8016129
http://www.reibang.com/p/665261814e24

跳轉(zhuǎn)到TabBar的第幾個(gè)界面

    self.tabBarController.selectedViewController = [self.tabBarController.viewControllers objectAtIndex:3];
    
 [self.navigationController popToRootViewControllerAnimated:YES];

自動(dòng)生成模型
http://www.oschina.net/p/ESJsonFormat-Xcode?fromerr=dL1ZRfFR

生成公私匙

  1. cd 到桌面
  2. openssl
  3. genrsa -out rsa_private_key.pem 1024
  4. pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM –nocrypt
  5. rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

1谷醉、創(chuàng)建證書請(qǐng)求(按照提示輸入信息)

openssl req -new -out cert.csr -key private_key.pem
2、自簽署根證書

openssl x509 -req -in cert.csr -out rsa_public_key.der -outform der -signkey rsa_private_key.pem -days 3650
3冈闭、驗(yàn)證證書俱尼。把public_key.der拖到xcode中,如果文件沒(méi)有問(wèn)題的話萎攒,那么就可以直接在xcode中打開(kāi)遇八,看到證書的各種信息。

加密大全 https://github.com/FengYingJie888/FYJ-

RunLoop http://www.cocoachina.com/ios/20170224/18763.html

根據(jù)坐標(biāo)獲取TableView的索引

-(void)hotOnClick:(UIButton *)button event:(id)event
NSSet *touches = [event allTouches];
UITouch *touch = [touches anyObject];
CGPoint position = [touch locationInView:self.collectionView];

NSIndexPath *indexPath = [_collectionView indexPathForItemAtPoint:position];

去空格

string = [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];

NSArray *components = [string componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
components = [components filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"self <> ''"]];

string = [components componentsJoinedByString:@" "];

數(shù)組排序 http://www.reibang.com/p/e9d561140f5b _dataArr = (NSMutableArray *)[[_dataArr reverseObjectEnumerator] allObjects];

倒敘: _dataArr = (NSMutableArray *)[[_dataArr reverseObjectEnumerator] allObjects];

復(fù)制內(nèi)容到剪切板

UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
pasteboard.string = self.label.text;

內(nèi)存泄漏

http://www.cnblogs.com/qiutangfengmian/p/6117856.html
http://www.reibang.com/p/b8b87a9eae7b

拒絕原因

http://aso100.baijia.baidu.com/article/605159

申請(qǐng)開(kāi)發(fā)者賬號(hào) https://developer.apple.com/enroll/

http://www.reibang.com/p/0915bb139a2a

最上層View不影響 響應(yīng)鏈window加個(gè)layer也可以實(shí)現(xiàn)

  - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event  
  {  
UIView *hitView = [super hitTest:point withEvent:event];  
if (hitView == self)  
{  
    return nil;  
}  
else  
{  
    return hitView;  
}
35F88FE798FF9B2857E3DD34FC8DFF90.jpg

申請(qǐng)證書 http://blog.csdn.net/holydancer/article/details/9219333

鬧鐘 iOS鬧鐘實(shí)現(xiàn) http://www.cnblogs.com/jgCho/p/5194522.html

各種跳轉(zhuǎn) http://www.cocoachina.com/ios/20160805/17302.html

IPV6網(wǎng)絡(luò)測(cè)試 http://test-ipv6.com

WKWebView與JS交互 http://www.cnblogs.com/markstray/p/5757264.html

VPN http://www.cnblogs.com/amy54/p/5091249.html

SFSafariViewController 內(nèi)部Safari http://blog.csdn.net/xf13718130240/article/details/50549821

雙用二維碼 https://www.hotapp.cn

3D touch http://www.reibang.com/p/2920d2f74fb4

http://www.cnblogs.com/qizhuo/p/6383105.html
http://www.cnblogs.com/liuwenqiang/p/5658920.html
最全 : http://www.cnblogs.com/n1ckyxu/p/5096316.html

加急審核 http://blog.csdn.net/showhilllee/article/details/19541493

鏈接:https://developer.apple.com/appstore/contact/appreviewteam/index.html

高斯模糊圖片 https://github.com/623034345/vImageBlur

http://blog.campusapp.cn/2016/04/12/vImage高斯模糊-Blur/

夏令時(shí)處理 https://github.com/623034345/NSTimeZone-JKLocalTimeZone

優(yōu)化TableView https://github.com/623034345/RunLoopWorkDistribution

給任意一個(gè)邊加圓角 https://github.com/623034345/DBCorner

仿QQ空間 滑動(dòng)切換 上下滑動(dòng) https://github.com/623034345/SwipeTableView

給無(wú)數(shù)據(jù)零代碼加展位圖 https://github.com/623034345/AppPlaceholder

仿iOS小圓點(diǎn) 和直播視頻拖動(dòng)https://github.com/623034345/WMDragView

iOS 資源大全 https://github.com/623034345/openDoc

富文本 https://github.com/623034345/M80AttributedLabel

https://github.com/623034345/TYAttributedLabel

圖片選擇器 https://github.com/623034345/TZImagePickerController

https://github.com/623034345/ZLPhotoBrowser

自帶plander的textView 圖片等 https://github.com/623034345/UITextView-WZB

按鈕倒計(jì)時(shí) https://github.com/623034345/CountDown

仿支付寶交易密碼輸入框 https://github.com/623034345/PasswordInputView

根據(jù)URL獲取圖片寬高

    NSURL* imageFileURL = [NSURL URLWithString:[messageItem.msgImages firstObject]];
   CGImageSourceRef imageSource = CGImageSourceCreateWithURL((__bridge CFURLRef)imageFileURL, NULL);
   if (imageSource) {
  NSDictionary* options = @{(NSString*)kCGImageSourceShouldCache:@NO};
  CFDictionaryRef imageInfo = CGImageSourceCopyPropertiesAtIndex(imageSource, 0, (__bridge CFDictionaryRef)options);
  if (imageInfo) {
  /**像素的寬*/
  NSNumber *pixelWidthObj = (__bridge NSNumber *)CFDictionaryGetValue(imageInfo, kCGImagePropertyPixelWidth);
  /**像素的高*/
  NSNumber *pixelHeightObj = (__bridge NSNumber *)CFDictionaryGetValue(imageInfo, kCGImagePropertyPixelHeight);
  messageItemSize.contentImageHeight = [pixelHeightObj floatValue]/2.0f;
  messageItemSize.contentImageWidth = [pixelWidthObj floatValue]/2.0f;
  CFRelease(imageInfo);
  }
  CFRelease(imageSource);
  } else {
  NSLog(@" Error loading image");
  }

仿支付寶導(dǎo)航效果 https://github.com/623034345/KMNavigationBarTransition

轉(zhuǎn)場(chǎng)動(dòng)畫

https://github.com/62303434/Hero
https://github.com/mutualmobile/MMDrawerController

卡片 http://www.code4app.com/thread-11044-1-1.html

最新推送 https://leancloud.cn/docs/ios_push_cert.html

總結(jié)外聯(lián): https://mp.weixin.qq.com/s?__biz=MzIwOTk2OTcyMg==&mid=2247483694&idx=1&sn=665d6a654ece477668c3c968ad426d7a&chksm=976af67ba01d7f6d1700f185ce2aacd449f624f2dc675ce2acbede730822fae79c849a562522&mpshare=1&scene=23&srcid=09120ccBvOK1KeNkHqfqwqBQ#rd

應(yīng)用內(nèi)評(píng)價(jià) : SKStoreReviewController

測(cè)試生產(chǎn)環(huán)境推送

http://blog.csdn.net/zps007/article/details/59133221

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末耍休,一起剝皮案震驚了整個(gè)濱河市刃永,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌羊精,老刑警劉巖斯够,帶你破解...
    沈念sama閱讀 221,406評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異喧锦,居然都是意外死亡读规,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,395評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門燃少,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)束亏,“玉大人,你說(shuō)我怎么就攤上這事阵具“椋” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 167,815評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵阳液,是天一觀的道長(zhǎng)怕敬。 經(jīng)常有香客問(wèn)我,道長(zhǎng)趁舀,這世上最難降的妖魔是什么赖捌? 我笑而不...
    開(kāi)封第一講書人閱讀 59,537評(píng)論 1 296
  • 正文 為了忘掉前任祝沸,我火速辦了婚禮矮烹,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘罩锐。我一直安慰自己奉狈,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,536評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布涩惑。 她就那樣靜靜地躺著仁期,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上跛蛋,一...
    開(kāi)封第一講書人閱讀 52,184評(píng)論 1 308
  • 那天熬的,我揣著相機(jī)與錄音,去河邊找鬼赊级。 笑死押框,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的理逊。 我是一名探鬼主播橡伞,決...
    沈念sama閱讀 40,776評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼晋被!你這毒婦竟也來(lái)了兑徘?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,668評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤羡洛,失蹤者是張志新(化名)和其女友劉穎挂脑,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體欲侮,經(jīng)...
    沈念sama閱讀 46,212評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡最域,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,299評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了锈麸。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片镀脂。...
    茶點(diǎn)故事閱讀 40,438評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖忘伞,靈堂內(nèi)的尸體忽然破棺而出薄翅,到底是詐尸還是另有隱情,我是刑警寧澤氓奈,帶...
    沈念sama閱讀 36,128評(píng)論 5 349
  • 正文 年R本政府宣布翘魄,位于F島的核電站,受9級(jí)特大地震影響舀奶,放射性物質(zhì)發(fā)生泄漏暑竟。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,807評(píng)論 3 333
  • 文/蒙蒙 一育勺、第九天 我趴在偏房一處隱蔽的房頂上張望但荤。 院中可真熱鬧,春花似錦涧至、人聲如沸腹躁。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,279評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)纺非。三九已至哑了,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間烧颖,已是汗流浹背弱左。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,395評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留炕淮,地道東北人科贬。 一個(gè)月前我還...
    沈念sama閱讀 48,827評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像鳖悠,于是被迫代替她去往敵國(guó)和親榜掌。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,446評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容