需求如題,如果是你,你一定首先想到看看JavaScriptCore有沒(méi)有暴露出對(duì)應(yīng)的 delegate 方法可以直接用,抱歉,還真沒(méi)有。那該怎么辦?怎么辦?么辦?辦?......
為平川等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及平川網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)、平川網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專(zhuān)業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
記得之前有一篇關(guān)于 JSBridge 的文章有提到,直接 NSObject 類(lèi)有一個(gè)方法,webView:didCreateJavaScriptContext:forFrame:,從語(yǔ)義上看,應(yīng)該就滿足上面的需求。
好,寫(xiě)個(gè) NSObject 的分類(lèi)實(shí)現(xiàn)下看看。
測(cè)試很簡(jiǎn)單,在 web 頁(yè)面的 js 腳本里,調(diào)用 printHello(); 即可。
實(shí)踐證明:好使!
熟悉 runtime 的話,這個(gè)很簡(jiǎn)單,調(diào)用 class_copyMethodList 把類(lèi)里所有的方法取出來(lái)打印就好。有的時(shí)候,為了分析一個(gè)需求如何實(shí)現(xiàn),可能要遞歸打印幾個(gè)類(lèi)的方法,從當(dāng)前類(lèi),到其父類(lèi),到其爺爺類(lèi),...直到 NSObject 類(lèi)。
感謝 oc 語(yǔ)言的創(chuàng)始人和開(kāi)發(fā)者,每個(gè)類(lèi)的類(lèi)方法、實(shí)例方法都幾乎可以做到望文生義,才讓大家能有這一快樂(lè)!
最后,enjoy yourself!
篇一:分享簡(jiǎn)單學(xué)習(xí)iOS開(kāi)發(fā)的方法
隨著3G技術(shù)的普及與智能終端的快速發(fā)展,逐漸的移動(dòng)開(kāi)發(fā)者最受企業(yè)的歡迎,特別是iOS軟件開(kāi)發(fā)人才更是得到了企業(yè)的青睞,從現(xiàn)在情況來(lái)看,iOS培訓(xùn)和iOS軟件開(kāi)發(fā)人才有些嚴(yán)重供不應(yīng)求。
容易上手的,學(xué)習(xí)iOS要注意到每個(gè)細(xì)節(jié),因?yàn)槊總€(gè)細(xì)小的知識(shí)都有可能改變這個(gè)程序,如果有一點(diǎn)的錯(cuò)誤都會(huì)導(dǎo)致整個(gè)程序無(wú)法運(yùn)行,其實(shí)學(xué)習(xí)iOS和上學(xué)學(xué)習(xí)一樣,都是從最基礎(chǔ)的開(kāi)始學(xué)起,慢慢的積累知識(shí)。如果想學(xué)好iOS,現(xiàn)在單單在網(wǎng)上學(xué)習(xí)是有點(diǎn)out了,可以選擇零學(xué)費(fèi),就能夠入學(xué)的培訓(xùn)學(xué)校學(xué)習(xí)一下,如果沒(méi)有合適的話,可以了解一下培訓(xùn)機(jī)構(gòu),找一個(gè)口碑不錯(cuò)的,這樣結(jié)合理論和實(shí)際才能夠?qū)W好iOS。
在課前一定要做好準(zhǔn)備資料及準(zhǔn)備內(nèi)容,要知道老師要講什么?先做好預(yù)習(xí),這樣有準(zhǔn)備的上戰(zhàn)場(chǎng)才會(huì)學(xué)得更好,在課堂上認(rèn)真聽(tīng)老師講課,在電腦上操作老師所講的內(nèi)容,如果有不懂的一定要及時(shí)向講師問(wèn)清是怎么回事,課后多做幾次練習(xí),那么就不是問(wèn)題了。3
如果聽(tīng)不懂怎么辦?
這些現(xiàn)象很正常,誰(shuí)也不敢保證講師所講的知識(shí)都能夠無(wú)一不漏的聽(tīng)明白,能夠在電腦上操作出來(lái),那么如果遇到不懂得就要直接問(wèn),還可以先預(yù)習(xí)今后再去學(xué)習(xí)理論課的時(shí)分就能夠有對(duì)于性的去聽(tīng)了,教師講到你現(xiàn)已把握的內(nèi)容時(shí),你能夠注意聽(tīng)一下講師是不是有了新的見(jiàn)解及創(chuàng)新的認(rèn)識(shí)、講的和你了解到的是不是一樣,如果不太一樣的話,那么就要做下記號(hào),課下與老師溝通,承認(rèn)這個(gè)
常識(shí)點(diǎn)的真實(shí)意義;若是講到你預(yù)習(xí)時(shí)不會(huì)的常識(shí)點(diǎn)的話,你更大概仔細(xì)的去聽(tīng)了,認(rèn)真的去了解一下到底是怎么個(gè)意思?
篇二:如何快速學(xué)會(huì)ios開(kāi)發(fā)
針對(duì)學(xué)習(xí)iOS開(kāi)發(fā)怎么樣?想學(xué)iOS開(kāi)發(fā)如何才能快速學(xué)習(xí)?沒(méi)有基礎(chǔ)怎么快速學(xué)習(xí)iOS開(kāi)發(fā)等問(wèn)題,藍(lán)鷗iOS培訓(xùn)專(zhuān)業(yè)老師指點(diǎn)明燈!看著身邊學(xué)iOS開(kāi)發(fā)的人拿了高工資,很多人按捺不住了。但菜鳥(niǎo)真的也可以成為iOS開(kāi)發(fā)軟件工程師嗎?只要有恰當(dāng)?shù)膶W(xué)習(xí)方法,學(xué)習(xí)軟件開(kāi)發(fā)并不難。對(duì)于軟件初學(xué)者來(lái)說(shuō),主要做到以下幾點(diǎn):
一、打好基礎(chǔ),不能一步登天
學(xué)習(xí)iOS,首先要學(xué)習(xí)C語(yǔ)言,很多人跳過(guò)C,直接學(xué)Objective-C,這是極不可取的。Objective-C是C的超集,必須有C的基礎(chǔ),學(xué)習(xí)才能更好更快的進(jìn)行。不要一開(kāi)始就盲目崇拜別人的大項(xiàng)目,要從小項(xiàng)目開(kāi)始,一步一個(gè)腳印,遇到困難不要退縮,解決困難也是學(xué)習(xí)的過(guò)程。
二、必須如蜜蜂,多方采集花蜜
在學(xué)習(xí)初期對(duì)于iOS沒(méi)有概念,最好的辦法就是多看別人的代碼,多吸取別人的養(yǎng)分。遇到不懂得問(wèn)題不要跳過(guò),而是要多問(wèn),多向人請(qǐng)教,學(xué)習(xí)別人的思路,吸取有益的知識(shí),并做好學(xué)習(xí)筆記。積少成多,會(huì)成為你不小的財(cái)富。
三、勤動(dòng)腦,多動(dòng)手,有創(chuàng)新精神
軟件開(kāi)發(fā)者是為了讓軟件實(shí)現(xiàn)更豐富更強(qiáng)大的功能,必須有很強(qiáng)的實(shí)際操作能力。作為iOS開(kāi)發(fā)工程師,不但要了解用戶需要哪些功能,有哪些需求,還要多動(dòng)腦,開(kāi)發(fā)出符合市場(chǎng)以及時(shí)代需求的項(xiàng)目。這都需要軟件開(kāi)發(fā)者具備很好創(chuàng)新精神。
由此可見(jiàn),學(xué)習(xí)iOS開(kāi)發(fā),只要肯吃苦,有恒心,菜鳥(niǎo)也可以有很藍(lán),很廣闊的天空。iOS培訓(xùn)很注重基礎(chǔ)教學(xué),教學(xué)方式與大學(xué)不同,在教授理論知識(shí)的同時(shí),更注重實(shí)踐技能的培養(yǎng)。擺正心態(tài),切勿操之過(guò)急,囫圇吞棗,將每天所學(xué)定義為就是今后工作要用的,這樣你便會(huì)認(rèn)真對(duì)待每一次學(xué)習(xí)、每一行代碼和遇到的每一個(gè)難題。
參加iOS開(kāi)發(fā)培訓(xùn)也可以,現(xiàn)在iOS開(kāi)發(fā)培訓(xùn)大概也就4個(gè)月時(shí)間,花一兩萬(wàn)系統(tǒng)學(xué)4個(gè)月也是一個(gè)不錯(cuò)的選擇,雖然要一兩萬(wàn),但是效果跟自己學(xué)肯定是不一樣的,要是自己學(xué)跟有老師帶著學(xué)一樣,那這個(gè)世界上將沒(méi)有學(xué)校存在了。對(duì)于參加iOS開(kāi)發(fā)培訓(xùn)的一定
要選對(duì)機(jī)構(gòu),有句話說(shuō)得好,選對(duì)比選好有時(shí)候重要太多。你考30分的'成績(jī)讓你去北大清華也不一定能夠成就了呢,所以選擇口碑好的機(jī)構(gòu),專(zhuān)注iOS開(kāi)發(fā)的機(jī)構(gòu)比較好,畢竟咱基礎(chǔ)不好,那些機(jī)構(gòu)做雜很難做精。不管是快速學(xué)還是慢慢自學(xué)還是選擇iOS培訓(xùn)機(jī)構(gòu)系統(tǒng)培訓(xùn),只要你投入進(jìn)去就好,堅(jiān)持下去一定會(huì)有大收獲。不管做什么或者學(xué)什么一定要避免三天打魚(yú)兩天曬網(wǎng),這樣效果不會(huì)明顯。
篇三:零基礎(chǔ)學(xué)iOS開(kāi)發(fā)的方法
怎么學(xué)習(xí)iOS開(kāi)發(fā),尤其是對(duì)于沒(méi)有基礎(chǔ)的,甚至是0基礎(chǔ)的朋友而言,要學(xué)習(xí)iOS開(kāi)發(fā)就需要注重方法了。由于iphone手機(jī)帶來(lái)的手機(jī)應(yīng)用狂潮,現(xiàn)在很多人都希望從事這塊的開(kāi)發(fā)。很多初學(xué)者可能會(huì)問(wèn),沒(méi)有基礎(chǔ)怎么樣才能學(xué)好iOS開(kāi)發(fā),我們要看什么書(shū)呢,還是什么視頻,其實(shí)這些都不是重要的,重要的是,你認(rèn)為自己可以學(xué)好iOS開(kāi)發(fā),認(rèn)為自己可以堅(jiān)持下來(lái),這是關(guān)鍵啦。
其實(shí)學(xué)很多語(yǔ)言都是通的,即使0基礎(chǔ)學(xué)習(xí)也不怕,從C語(yǔ)言入門(mén),因?yàn)閕OS開(kāi)發(fā)用的是OC語(yǔ)言,是在C基礎(chǔ)上的,不過(guò)也跟C不是很搭界,你可以直接學(xué)習(xí)OC語(yǔ)言也可以,還有開(kāi)發(fā)工具是用Xcode,是在Mac系統(tǒng)的,你多摸索一下就可以開(kāi)發(fā)簡(jiǎn)單的應(yīng)用了,建議你買(mǎi)一本iphone開(kāi)發(fā)秘籍第二版看看。學(xué)語(yǔ)言,無(wú)非就是要學(xué)好基礎(chǔ),弄清楚概念,然后做個(gè)簡(jiǎn)單的例子,慢慢的體會(huì),基礎(chǔ)打好了,到后面你會(huì)覺(jué)得突然自己提高了很多,很多東西都自然而然地明白了,在黑暗中的努力是為了迎接光明。
我覺(jué)得學(xué)iOS開(kāi)發(fā),首先心態(tài)要好,不要想著我已經(jīng)學(xué)習(xí)很長(zhǎng)時(shí)間了,可以找個(gè)好工作,可以賺錢(qián)了,牛人除外,不過(guò)大多都是普通人。
先慢慢培養(yǎng)興趣下定決心,然后開(kāi)始找資料,找視頻,查百度。等你覺(jué)得這些基礎(chǔ)的都差不多理解了,那就別看書(shū),將精力集中于界面開(kāi)發(fā)、一定的數(shù)據(jù)庫(kù)開(kāi)發(fā)、通訊接口開(kāi)發(fā)、協(xié)同開(kāi)發(fā)與聯(lián)調(diào)。然后自己設(shè)計(jì)個(gè)東西,可以涵蓋他們的,做個(gè)自己想做的東西出來(lái),雖然可能很難,但是你會(huì)在過(guò)程中學(xué)到很多,是別人教不會(huì)你的。
在學(xué)習(xí)過(guò)程中遇到什么問(wèn)題,你可以百度一下看看別人的回答,看多了印象就深了,也就慢慢掌握了。遇到什么思路上的問(wèn)題,可以來(lái)藍(lán)鷗網(wǎng)站技術(shù)論壇發(fā)帖,論壇肯定會(huì)有人來(lái)幫忙的,就算不能完全解決,也可以提供點(diǎn)參考。學(xué)習(xí)要會(huì)利用資源,論壇上那么好的資源不用可惜的哦,還有資料堆的東西,只要你能掌握70%,不相信你可以試試。
Web Service使用的主要協(xié)議是HTTP協(xié)議,即 超文本傳輸協(xié)議 。
HTTP/1.1協(xié)議共定義了8種請(qǐng)求方法(OPTIONS、HEAD、GET、POST、PUT、DELETE、TRACE、CONNECT)作為Web服務(wù)器。
GET方法 ,是向指定的資源發(fā)送請(qǐng)求,請(qǐng)求的參數(shù)“顯式”地在URL的后面。有點(diǎn)像明信片,把內(nèi)容“顯式”寫(xiě)在外面,因此安全性比較差。一般使用于讀取數(shù)據(jù)、例如從服務(wù)器讀取靜態(tài)圖片、或查詢數(shù)據(jù)等。
POST方法 ,是向指定資源提交數(shù)據(jù),請(qǐng)求服務(wù)器進(jìn)行處理,數(shù)據(jù)包含在 請(qǐng)求體 中。參數(shù)和地址分開(kāi),放在body里面。有點(diǎn)像把信內(nèi)容放在信封中,接觸的人看不到,安全性比較高。一般用于例如提交表單、上傳文件等(請(qǐng)求的的動(dòng)態(tài)資源,與查詢類(lèi)似,每個(gè)方法調(diào)用都要傳遞很多參數(shù),因此需要使用NSMutableURLRequest創(chuàng)建請(qǐng)求。 )
iOS SDK中為HTTP請(qǐng)求提供了同步和異步請(qǐng)求這兩種不同的API,
同步請(qǐng)求,可以從因特網(wǎng)請(qǐng)求數(shù)據(jù),一旦發(fā)送同步請(qǐng)求,程序?qū)⑼V褂脩艚换?,直至服?wù)器返回?cái)?shù)據(jù)完成,才可以進(jìn)行下一步操作,意味著線程阻塞;
異步請(qǐng)求,不會(huì)阻塞主線程,而會(huì)建立一個(gè)新的線程來(lái)操作,用戶發(fā)出異步請(qǐng)求后,依然可以對(duì)UI進(jìn)行操作,程序可以繼續(xù)運(yùn)行;
它們的主要區(qū)別在于連接方式的不同。
下面通過(guò)請(qǐng)求一個(gè)登陸接口介紹有關(guān)于網(wǎng)絡(luò)請(qǐng)求中的不同情況。
【本次開(kāi)發(fā)環(huán)境: Xcode:7.2 ? ??iOS Simulator:iphone6 ? By:啊左】
一、GET方法
1.同步get方法:
//1.創(chuàng)建一個(gè)web路徑?
NSString*webPath=[NSString?stringWithFormat:@";pass=%@btn=login",yourname,yourpass]; ? ? ?
webPath=[webPath stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];?//url不允許為中文等特殊字符,需要進(jìn)行字符串的轉(zhuǎn)碼為URL字符串,例如空格轉(zhuǎn)換后為“%20”;? ? ?
NSURL *url=[NSURL URLWithString:webPath];? ? ??
//2.根據(jù)WEB路徑創(chuàng)建一個(gè)請(qǐng)求? ? ?
NSURLRequest? *request=[NSURLRequest requestWithURL:url];? ? ? ? ?
NSURLResponse *respone;//獲取連接的響應(yīng)信息,可以為nil? ? ?
NSError *error;? ? ? ? //獲取連接的錯(cuò)誤時(shí)的信息,可以為nil? ??
//3.得到服務(wù)器數(shù)據(jù)? ??
NSData*data=[NSURLConnection sendSynchronousRequest: request returningResponse: respone error: error];? ??
if(data==nil)? ? {? ? ? ? NSLog(@"登陸失敗:%@,請(qǐng)重試",error);? ? ? ? return;? ? }?
/*? ? ? ? 4.對(duì)服務(wù)器獲取的數(shù)據(jù)data進(jìn)行相應(yīng)的處理;? */
2.異步get方法:
異步請(qǐng)求與同步請(qǐng)求的不同在于使用NSURLConnectionDataDelegate委托協(xié)議,指定代理.
@interface ViewController : UIViewController // 遵循協(xié)議
@property (weak,nonatomic) NSMutableData *receiveData;? //創(chuàng)建一個(gè)可變data,用于異步接收服務(wù)器的數(shù)據(jù)
@end
創(chuàng)建網(wǎng)絡(luò)請(qǐng)求:
//1.創(chuàng)建一個(gè)web路徑
NSString*webPath=[NSString stringWithFormat: @";pass=%@btn=login",yourname,yourpass];
webPath=[webPath stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL? *url=[NSURL URLWithString:webPath];
//2.根據(jù)WEB路徑創(chuàng)建一個(gè)請(qǐng)求
NSURLRequest *request=[NSURLRequest requestWithURL:url];
//3.指定代理 以異步的方式接收數(shù)據(jù)NSURLConnectionDataDelegate
NSURLConnection? *con=[NSURLConnection connectionWithRequest:request delegate:self];
if(con==nil)
{
NSLog(@"創(chuàng)建連接失敗.");
return;
}
else//成功 準(zhǔn)備接數(shù)據(jù)
{
if(self.receiveData==nil)
{
self.receiveData=[[NSMutableData alloc] init];
}
}
異步的代理行為:
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{? ??
NSLog(@"已經(jīng)響應(yīng)成功.");
//清空 為當(dāng)前連接做準(zhǔn)備? ??
self.receiveData.length=0;
}
-(void) connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{? ? NSLog(@"已經(jīng)接收到了數(shù)據(jù).");? ??
//追加接收到的數(shù)據(jù)? ??
[self.receiveData appendData:data];
}
-(void)connectionDidFinishLoading:(NSURLConnection *)connection{? ??
NSLog(@"接收數(shù)據(jù)已經(jīng)完成.");?
/*? ? ? 對(duì)服務(wù)器獲取的數(shù)據(jù)receiveData進(jìn)行相應(yīng)的處理;? */
}
-(void) connection:(NSURLConnection *)connection didFailWithError:(NSError *)error{? ? NSLog(@"連接失敗.");
}
二、POST方法
1.同步post方法:
//1.創(chuàng)建一個(gè)web路徑? ??
NSString? *webPath=@""; ??
webPath = [webPath stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];? ? NSURL *url=[NSURL URLWithString:webPath];
//2.建立一個(gè)帶協(xié)議緩存類(lèi)型的請(qǐng)求 (使用NSMutableURLRequest,是post方法的關(guān)鍵)? ? NSMutableURLRequest? *request=[NSMutableURLRequest requestWithURL:url cachePolicy:(NSURLRequestUseProtocolCachePolicy) timeoutInterval:10];? ? ? ? //3.設(shè)置表單提交的方法(默認(rèn)為get)? ? [request setHTTPMethod: @"post"];
//4.設(shè)置要提交的參數(shù)? ? NSString? *args=[NSString stringWithFormat:@"uname=%@upas=%@btn=login",uname,upas];? ? [request setHTTPBody: [args dataUsingEncoding:NSUTF8StringEncoding]];
NSData *recvData=[NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];? ? if(recvData!=nil)? ? {
/*
對(duì)服務(wù)器獲取的數(shù)據(jù)recvData進(jìn)行相應(yīng)的處理
*/
}
else
{
NSLog(@"連接失敗,請(qǐng)重試!");
}
2.post方法的異步與同步的區(qū)別在于使用NSURLConnectionDataDelegate委托協(xié)議,指定代理.
這一點(diǎn)與get方法一致,所以就不進(jìn)行長(zhǎng)篇幅的演示了。
以上就是關(guān)于部分網(wǎng)絡(luò)同步異步請(qǐng)求,get、post請(qǐng)求方法的演示,由于UI控件還有其他的處理沒(méi)有附上,具體的讀者可以進(jìn)行相應(yīng)細(xì)節(jié)的調(diào)整,進(jìn)行完整的網(wǎng)絡(luò)請(qǐng)求項(xiàng)目開(kāi)發(fā)。
由于iOS開(kāi)始,引入了新的網(wǎng)絡(luò)接口NSURLSession,而在iOS9中NSURLConnection被宣布棄用,因此關(guān)于NSURLSession發(fā)送GET和POST請(qǐng)求的資料部分,有興趣的可以參考:
iOS開(kāi)發(fā) GET、POST請(qǐng)求方法(NSURLSession篇)
? by:啊左~
1.定義函數(shù)時(shí),希望傳入的參數(shù)不為nil,或者為nil時(shí)會(huì)有警告顯示:
如下:
- (instanceype)initWithFoo:(NSString *)foo bar:(NSString *)bar sark:(NSString *)sark
__atttribute__((nonnull(1, 2)));
p.s. index從1開(kāi)始,不是0,且只對(duì)對(duì)象生效。
該技巧同樣來(lái)自,sunnyxx大神的微信,逗比狗~
2.定義函數(shù)時(shí),希望子類(lèi)override該方法時(shí)候,必須調(diào)用super,否則編譯器直接報(bào)錯(cuò)。
@interface OldSix:NSObject
- (void)fooWithNothing __attribute__((objc_requires_super));
該技巧同樣來(lái)自,sunnyxx大神的微信,逗比狗~
wait~~~~~
/*檢查子類(lèi)在重寫(xiě)該方法時(shí)有沒(méi)有調(diào)用自己(父類(lèi))的實(shí)現(xiàn)
*對(duì)于一些可以被繼承的類(lèi),需要子類(lèi)在重某一調(diào)用父類(lèi)的實(shí)現(xiàn)以保證正確的行為,通過(guò)在頭文件方法的聲明末尾添加`NS_REQUIRES_SUPER`
*可以讓編譯器檢查子類(lèi)方法有調(diào)用父類(lèi)的實(shí)現(xiàn)。具體使用方法如下:
* - (void)viewWillAppear:(BOOL)animated NS_REQUIRES_SUPER;
*/
但是根據(jù)我的實(shí)際測(cè)試,發(fā)現(xiàn)sunnyxx大神仙的方法,沒(méi)有任何顯示效果,不知道是不是我打開(kāi)的方式不對(duì)還是怎么,
總之,NS_REQUIRES_SUPER的方法親測(cè)可用。
3.誤刪系統(tǒng)sdk頭文件的解決辦法
在終端中輸入:
$ cd ~/Library/Developer/Xcode/DerivedData/ModuleCache/
$ rm -rf *
4.ARC下打印retainCount
extern uintptr_t _objc_rootRetainCount(id obj);
id test = [NSString new];
NSLog(@"retain count %lu",_objc_rootRetainCount(test));
5.工程報(bào)錯(cuò)下,仍然可以編譯成功
6.定位方法的調(diào)用者
網(wǎng)頁(yè)標(biāo)題:ios開(kāi)發(fā)類(lèi)的方法,ios開(kāi)發(fā)基礎(chǔ)知識(shí)
本文來(lái)源:http://aaarwkj.com/article20/dssgdjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷(xiāo)推廣、靜態(tài)網(wǎng)站、做網(wǎng)站、網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)