基礎(chǔ)是要過關(guān)的,oop、多線程、db、基本算法或數(shù)據(jù)結(jié)構(gòu)是必須的。
創(chuàng)新互聯(lián)專注于網(wǎng)站建設(shè)|成都網(wǎng)站改版|優(yōu)化|托管以及網(wǎng)絡(luò)推廣,積累了大量的網(wǎng)站設(shè)計與制作經(jīng)驗,為許多企業(yè)提供了網(wǎng)站定制設(shè)計服務(wù),案例作品覆蓋成都高空作業(yè)車租賃等行業(yè)。能根據(jù)企業(yè)所處的行業(yè)與銷售的產(chǎn)品,結(jié)合品牌形象的塑造,量身設(shè)計品質(zhì)網(wǎng)站。
還要熟練掌握Objective-C語言,C/C++語言;3.熟悉Cocoa開發(fā)框架,包括UI、網(wǎng)絡(luò)等方面,熟悉IOS開發(fā)工具和相關(guān)開發(fā)測試工具的使用,掌握常用的數(shù)據(jù)結(jié)構(gòu)與常用算法,較好的邏輯思維分析和表達和溝通能力,要有一定的自學(xué)能力,較強的團隊協(xié)作意識。
更多關(guān)于ios游戲開發(fā)需要哪些知識,進入:查看更多內(nèi)容
第一步:編程入門課
時間預(yù)計:4個星期
推薦看公開課,Udacity也行,網(wǎng)易公開課也行,自己找一個面對對象語言(一般是JAVA, C++, Python)的課。我是在網(wǎng)易公開課看的斯坦福的CS106A,學(xué)的JAVA。
如果你純粹學(xué)iOS開發(fā),不推薦看哈佛CS50,CS50是給CS系的學(xué)生介紹整個計算機世界的框架,講的內(nèi)容比較多,進度比較快,對iOS開發(fā)其實有點累贅了。(臣妾有點跟不上?。。。?/p>
計劃安排是一天一課,看課程要求的書(至少看完一本)及大部分作業(yè)。這一階段重點不是語法,而是以下3個目標(biāo)。
目標(biāo):
1. 讓自己對編程這件事感到適應(yīng)。
寫hello world。
怎么寫function, 怎么調(diào)用function。
全局變量,局部變量這類基本知識點。
都是基本的東西??纯磿?,寫多兩個程序就歐啦。
2. 掌握編程語言的基本要素。
編程語言4個要素:
a. 基本的數(shù)據(jù)類型:整數(shù),實數(shù),character, string, boolean
b. 基本的運算符號:+-×/++--那啥的
c. 怎樣輸入輸出
d. 怎樣控制程序:sequence,selection,loop
3. 了解編程范式
面對過程編程。
面向?qū)ο缶幊獭?/p>
第二步:上手iOS!
時間預(yù)計:2星期
強烈推薦CS193P,老頭子講的超級好!我的很多東西(對象思維啥的)是在這里跟著做練習(xí)的時候才真正明白的(好啦,也可能是上一堂課練習(xí)做得少的原因)。如果等到9月應(yīng)該itunes U上會開始教iOS 7了。網(wǎng)易公開課的是2010年iOS 5版的,前10堂課,也行。(iTunes U上有完整的課)
CS193P說有prerequisite,一開始被嚇到,事實證明還是可以學(xué)下去的。頭兩節(jié)課一頭霧水,沒關(guān)系,把itunes U上的課件下載下來,把所有代碼打出來,然后一個個元素對應(yīng)之前學(xué)的語言匹配,再不懂先放著,繼續(xù)學(xué)后邊的,過幾天打多點代碼就懂了。
感覺學(xué)5、6堂課,一個星期左右就可以開始進入下一階段自己做東西了。之后用啥學(xué)啥,每堂課都有主題的。速度慢點的同學(xué)們,這階段跟我一樣準(zhǔn)備兩個星期吧!
第三步:開發(fā)app!
時間預(yù)計:2星期(本人...1個半月,實在不好意思說出口)
這個時間就可長可短啦,還包括美工,交互啥的。堅持要用啥學(xué)啥的原則,其實就是知道iOS SDK都有什么組件,每個組件有什么function而已。stackoverflow, Github, apple sample code多上,搜索引擎多用。如果有個師傅,這個階段真的是進步神速。
好的!不出意外,你的第一個app就這么新鮮出爐了!從今天開始,成為一個冷艷逼格高尚的iOS開發(fā)者吧!
在項目功能中有一個定位CLLocation的需求,遇到了一些知識難點,經(jīng)過各位大俠的幫助,問題解決,特此分享供大家學(xué)習(xí),希望大家共同學(xué)習(xí)進步。
一、簡單說明
1.CLLocationManager
CLLocationManager的常用操作和屬性
開始用戶定位- (void)startUpdatingLocation;
停止用戶定位- (void) stopUpdatingLocation;
說明:當(dāng)調(diào)用了startUpdatingLocation方法后,就開始不斷地定位用戶的'位置,中途會頻繁地調(diào)用代理的下面方法
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations;
每隔多少米定位一次
@property(assign, nonatomic) CLLocationDistance distanceFilter;
定位精確度(越精確就越耗電)
@property(assign, nonatomic) CLLocationAccuracy desiredAccuracy;
使用定位功能,首先要導(dǎo)入框架,遵守CLLocationManagerDelegate協(xié)議,再創(chuàng)建位置管理器CLLocationManager
在iOS8.0后,定位功能需要在info.plist中加入NSLocationWhenInUseUsageDescription和NSLocationAlwaysUsageDescription這兩個NSString類型字段,才能夠使用定位功能
代碼貼出來與大家共勉,各位看官自行研究
{ self.locationManager = [[CLLocationManager alloc] init]; _locationManager.delegate = self; if([CLLocationManager locationServicesEnabled] == NO) { // NSLog(@"沒有GPS服務(wù)"); } //地理位置精確度 _locationManager.desiredAccuracy=kCLLocationAccuracyNearestTenMeters; //設(shè)置距離篩選器,double類型,只要距離變化多少,就調(diào)用委托代理 self.locationManager.distanceFilter = kCLDistanceFilterNone; // meters [_locationManager requestWhenInUseAuthorization];// 前臺定位 [_locationManager startUpdatingLocation];}- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{ NSLog(@"longitude = %f", ((CLLocation *)[locations lastObject]).coordinate.longitude); NSLog(@"latitude = %f", ((CLLocation *)[locations lastObject]).coordinate.latitude); CGFloat longTI=((CLLocation *)[locations lastObject]).coordinate.longitude; CGFloat latTI=((CLLocation *)[locations lastObject]).coordinate.latitude; //將經(jīng)度顯示到label上 _longitudeLabel.text = [NSString stringWithFormat:@"%f",longTI]; //將緯度現(xiàn)實到label上 _latitudeLabel.text = [NSString stringWithFormat:@"%f",latTI]; // 獲取當(dāng)前所在的城市名 CLGeocoder *geocoder = [[CLGeocoder alloc] init]; //根據(jù)經(jīng)緯度反向地理編譯出地址信息 [geocoder reverseGeocodeLocation:locations.lastObject completionHandler:^(NSArray *array, NSError *error) { if (array.count 0) { CLPlacemark *placemark = [array objectAtIndex:0];// //將獲得的所有信息顯示到label上// self.location.text = placemark.name; //獲取城市 NSString *city = placemark.locality; if (!city) { //四大直轄市的城市信息無法通過locality獲得,只能通過獲取省份的方法來獲得(如果city為空,則可知為直轄市) city = placemark.administrativeArea; } // NSLog(@"city = %@", city); _cityName=city; } else if (error == nil [array count] == 0) { // NSLog(@"No results were returned."); } else if (error != nil) { // NSLog(@"An error occurred = %@", error); } }]; //系統(tǒng)會一直更新數(shù)據(jù),直到選擇停止更新,因為我們只需要獲得一次經(jīng)緯度即可,所以獲取之后就停止更新 [manager stopUpdatingLocation];}
以上是關(guān)于我給大家整理的IOS開發(fā)之詳解定位CLLocation,后續(xù)還會持續(xù)更新,希望大家能夠喜歡。