發表文章

目前顯示的是 4月, 2017的文章

IOS_學習筆記 (換頁的2個方法!)

圖片
快速學習換頁的兩個方法 這裡主要是記錄快速換頁的兩個方法, 首先,先講最簡單的換場方式! 拉View Controller 後 開一個新的資料夾,接下來把命名id 寫上ViewController 然後把按鈕的連結拉去,要show的畫面上做上連結!(完成) 這個方法只限於用Storyboard 開發才可以用 第二個方法,透過程式碼來換頁! 建立兩個View Controller! (記得幫新開的View Controller 寫上class) 第一頁建立一個按鈕Button(記得幫按鈕命名) 然後在第一頁的程式碼中,宣告去下一頁方法並實作方法內容。 這樣就能快速完成,換頁的這個功能了。 筆記心得: 每個新的View Controller記得 #import 進去,不然不會有人理你.... 參考網址: 不用寫程式碼換至下一頁 透過,簡單的拖拉完成 IOS_學習筆記(不用程式碼前進下一頁) 透過程式碼完成 IOS_學習筆記(用程式碼前往下一頁)

IOS_學習筆記(Slider)

快速學習 Slider_滑桿 運用: 透過三個Slider滑桿的變化,來控制背景顏色! 這個是簡單的一個畫面的內容,所以首先我要知道我們需要建立什麼 需要 3 slider 與 原本的ViewController;有了這兩樣東西, 要讓視圖與控制器說話,所以要建立三個 IBAction ,告訴他說被改變了 要讓控制器與視圖說話,所以要建立三個IBOutlet,告訴他要改什麼 程式碼內容: @interface ViewController () @property ( weak , nonatomic ) IBOutlet UISlider *radSlider; @property ( weak , nonatomic ) IBOutlet UISlider *greenSlider; @property ( weak , nonatomic ) IBOutlet UISlider *blueSlider; @end @implementation ViewController - ( void )viewDidLoad {     [ super viewDidLoad ];     // Do any additional setup after loading the view, typically from a nib. } - ( IBAction )rad:( id )sender {     [ self background ]; } - ( IBAction )green:( id )sender {     [ self background ]; } - ( IBAction )blue:( id )sender {     [ self background ]; } -( void )background{     // 拿到三個顏色     CGFloat   rad = self . radSlider . value ;     CGFloat green = self . greenSlider . value ;     CGFloat

IOS_Objective-C學習筆記_(陣列 / 可修改陣列 ;字典 / 可修改字典)..

圖片
Objective_筆記 這篇筆記主要是在整理 陣列Array / 可修改陣列MuntibleArray ; 字典 Dictinoary/ 可修改字典MuntibleDictionary #陣列Array NSArray * thisarray = @[@50,@60]; NSLog(@"這是陣列內的數字:%@",thisarray); # 這是可變動的陣列  NSMutableArray //用一個陣列來產生一個可變動的陣列 NSMutableArray * thisMutableArray = [NSMutableArray arrayWithArray:@[@"50",@"100",@"50",@"40"]]; //取出陣列中第n個元素 NSString * one = thisMutableArray[1]; NSLog(@"陣列中第n個元素是:%@",one); NSLog(@"這是一個可變動的陣列:%@",thisMutableArray); //產生一個空的陣列 NSArray * emptyArray = @[ ]; NSLog(@"%@",emptyArray); //以下這一行也是創造一個空的陣列 NSMutableArray * foo = [[NSMutableArray alloc]init]; NSLog(@"創造一個空陣列1:%@",foo); //如果要修改陣列前,要先確確認陣列是用NSMutableArray 宣告的! (因為這樣才能夠變動陣列的內容) NSMutableArray * sub =[[NSMutableArray alloc]init]; //新增元素加到陣列 ,只能分批加入 [sub addObject:@"array1"]; [sub addObject:@"array2"]; [sub addObject:@"array3"]; NSLog(@"加入元素1:%@",sub); //

IOS_Objective-C學習筆記__(繼承)

圖片
這一篇內容主要是介紹如何使用objective-c 中的繼承功能,透過圖解的方式案範例,可以更清楚了解,這個如何運作。 繼承是一個實用的功能,這個可以減少重覆使用的造字! 像是我們開兩個類別時,這兩個類別有相同的『屬性』與『方法』時, 照原來方式寫的話,兩個都要各自寫一次一樣的功能,因此可以透過繼承的方法 讓一樣內容的屬性方法放進去,而在夠過繼承的模式直接寫一次就可以使用了! 而這個繼承的方法是,再開一個新的類別! 把共同要使用的方法屬性寫進去! 在這會產生兩種狀況,繼承者與被繼承者 而接下來我們要先把繼承者imprt進去 繼承者的內容 先舉一個簡單例子! 我們先開兩個自訂飲料類別,分別是 奶茶 和 紅茶! 而在這個這兩個方法裡面有共同的方法和屬性,因此我們可以再開一個類別來裝( Mixtea )共同的屬性和方法,讓 紅茶 ( Redtea ) 和 奶茶 ( Milktea )這兩個類別來繼承這裡面的東西! 接下來我們要先把紅茶和奶茶的 .h檔案  #import Mixteat.h 檔案讓他們認識!! 再來要去主要執行檔案的部份也把他 #import 認識 完成後就到Mixtea.h  ,把會用到的方法和屬性寫下來 這樣接下來 就可以一起使用了,再到Mixtea.m 把要實作的方法寫進去 最後到主要執行檔案要做的事情寫上去

IOS_Objective-C學習筆記__(自訂屬於自己的-類別 )

圖片
這一篇內容主要是再額外紀錄一次,關於「類別」; 要自訂類別首先先開一個新檔案 New > New File >  自訂類別名稱 (這次我們舉例 建立BMI 的案例) New > New File > Player  (此時會產生一個.h 和 .m  檔案!) 而這個  .h  是 interface 介面檔案 (也就是公開檔) 另一個  .m 是 implementation  實作檔 (也就是私密檔) 在 .h 這裡的程式碼 寫會用到的屬性和方法 在 .m這裡的程式碼 寫“實作”的方法 這樣我們就完成了自訂類別了!! 接下來是要去我主要的程式檔案中  把我們建立的類別 #import 讓他認識 也就是說,每建立一個新的資料夾,都要讓最主要的檔案去import 認識 最後的最後把,剛才建立的內容拿出來使用

IOS_Objective-C學習筆記__(字典 Dictionary / 新增字典的資料NSMutableDictionary / 空值 nil)

圖片
# 字典(Dictionary) 這個的使用方式與Array的方式類似,Dictionary 是有一個key-Value的關係; 宣告方式如下: NSDictionary * book = @{ @"name" : @"小紅帽" ,                                                  "boughtDay" : @"2017-4-17",                                                 "isbn" : @"2345678"                       }; # 新增修改字典 (NSMutableDictionary) 宣告方式如下: NSMutableDictionary * 自訂名 = [NSMutableDictionary dictionaryWithDictionary:@{  }] 新增 移除 插入方式與 陣列寫法一樣 # 空值(nil) 表示資料不存在,而表示方式是 nil 寫法: NSString * a = nil ; ( a 這個值是空值 ) # NSNumber NSNumber 表示一個數字型別 但是NSNumber是無法做數字加減 ,要做運算要轉int # 自訂類別 記得要去#import 所寫的類別 自訂一個新的類別時,要開一個新的資料夾 New>New File >輸入自訂類別名稱,這時候會產生.h 和.m檔案 .h 這裡是 介面檔 / 公開檔 (寫有什麼,能力) .m這裡是 實作檔 / 私密檔 (寫實做什麼,內容) 如下例子:開了個叫Television的自訂類別 在.h檔中寫下 有什麼介面 在.m檔 中寫下實作功能 # 其他記錄 NSDictionary 與NSMutableDictionary 的

IOS-Swift 學習筆記_( 陣列 字典與集合)

圖片
上一篇寫到的陣列部份,而這一篇將提到字典和集合! 首先做一個陣列與字典的寫法差異 藉由這一張的陣列Array與字典Dictionary 可以清楚看到, 兩者在於把文字串起來的方式是有所不同的! 而在新增刪除修改 字串,數字,浮點數進入的方式與陣列的模式是一樣的。 通常 注重順序關係 的時候會用到Array, 而如果是要管理的資料有 Key-Value對應關係 的話會用到Dictionary 來處理 # 集合(Set):用法和Array很類似,但是不具有順序,只是記錄一群的物件

IOS-Swift 學習筆記_(元組.元素Tuple / 陣列Array)

圖片
常用的基本資料結構! # 元組 ( Tuple ) :可以把多個變數/常數,組合成一個新的變數。 例如: let box1 = (3,2,1,"盒子") let 盒子體積1 = box1.0 * box1.1 * box1.2 而也可以替他命名,用這些命名來取出要的元素 let box2 = (h:3,w:2,d:1,name:"盒子") let 盒子體積2 = box2.h * box2.w *box2.d *box2.name # 陣列 var lunch = ["豬排套餐","義大利麵","雞排套餐"] lunch [1]    //這時候會印出: 豬排 var byLunch = "買" + lunch[1]    //這時候會印出: 買豬排 在陣列的運用上與objective-c 大致一樣,唯獨不一樣的是! 在swift當中, 兩個陣列是可以直接加起來的 創造一個空的陣列, 目前在思考的是,如果創造一個空陣列後不清楚要哪一個型別,直接都寫Any會不會比較好

學習紀錄_超跑計程車的煩惱,Super car taxi !

圖片
        最近在練習程式突然終於開竅那時候我朋友跟我說過的一件事,     前一陣子我問了我朋友一個   問題,你們沒有再開發的時候,都在幹嘛....     他笑笑著跟我說,當然是....     再精進,把程式在優化,寫得更漂亮啊!     那時我的想法是,程式碼不是可以跑就可以了,要怎麼在優化....     而今天晚上吃完飯後,就想說把前天上課派的回家作業拿出來玩一玩     看看還用什麼想法,用更短的程式碼把相同的內容給呈現出來!      越寫越有想法,突然覺得在優化是在更明白各項功能時,      可以把這些零件組裝起來,而不熟悉時最單純的作法      就是一個一個寫出來,再一個一個串起來      而熟悉可以怎麼用的時,會在想...      可以不可這樣直接組裝,還有沒有更好的裝法...     舉個例子:  一台計程車可以在四個人,當乘客分別是:30 / 4 / 9 / 51 人數時,要在幾趟?  一樣輸出的答案,卻可以是天差地遠的寫法 , 看了我自己都覺得有趣   昨天是在天真個什麼啦?   第一天誇張的寫法如下圖 今天晚上再拿出來玩一次,想了一下就寫出下面這段 然後繼續往接下來的題目寫下去,就很順手的可以再比昨天還簡化 也許,這就是所謂的在優化吧.... 因此覺得這個經驗非紀錄下來不可 因此也產生了這個有趣的經驗紀錄紀 或許真正的優化不是這樣 期待下一篇,天真心得紀錄! 20170414

IOS_Objective-C學習筆記__(if 判斷式,變數的作用域,宣告字串,轉型的方法,字串組合,陣列,迴圈)

圖片
這篇筆記主要是記錄,宣告字串,變數的作用域,if 判斷式,變數的作用域,宣告字串,轉型的方法,字串組合,陣列,迴圈 ## if判斷式 的寫法 if(//這裡填寫要判斷的條件事情){ 當條件成立時要執行的內容  } 例如: int sonAge ==7;  if (sonAge ==7){   go school } ## 變數都有屬於他自己的作用域 int a =30; int b =20; if( ) { int c = 20 }; 這時候 int a 與 int b 為全域變數 int c 則是區域變數,要結束{}後則無法再使用c 這個值 ## 宣告字串 宣告字串的寫法如下 NSString* 自訂名=@" 自訂值" ; (宣告字串後我們可以 把這個宣告的物件拿出來使用! ) ( 物件 ,就是這個自訂名) 而要把這個值給輸出時寫法是, NSLog(@" %@ ", 自訂名); ## 在物件導向中 會看到[ ] 這個中括號, 而這個[ ]是跟他對話的意思,而在這個內含有兩個意思。 [ 接受訊息的人  訊息] 例如: int count = [myName length] 這句話的意思是跟myName說話,問他的長度。(接收訊息的人是myName,而訊息是lengh) ## 轉型的方法 以下這個例子是,把100這個 文字 轉型成為 --->整數和浮點數 @"100" 這個表示   是一個NSString物件 @100  這個表示     是一個NSNumber物件 ## 字串還可以有組合 ,例子如下 運用 stringWithFormat 把字串給組合起來 ## 陣列表示的方式 NSArray* 自定變數名=@[@"值",@"值",@"值",@"值"]; 例如: NSArray * name = @[@"liou",@"andy",@"trey",@"mary&quo

IOS_Objective-C學習筆記__(宣告變數,占位符,布林值,運算)

圖片
## 宣告變數的方式:型別 (自定變數名)=(值); (而 常見的型別有 int_整數 double_浮點數  bool_布林值 ) 例如:  int myAge = 28 ; 而可以透過NSL(@"打要輸出的文字 "); 這樣下面就會因出來,“打要輸出的文字” 或是  int myAge = 28 ; NSLog(@"我的年紀是 %d ", myAge);   //一句運用到占位符的概念 =>此時下面會輸出內容是,     我的年紀是28 ## 浮點數的宣告方式和上面所提到的方式一樣,只不同於前面的型別!! double weight = 58.8; NSLog(@"體重是 %lf ",weight); =>此時下面會輸出內容是,     體重是58.8 ## 占位符在 (舉例的部份往上一看就能明顯得到答案) 整數int 的表現方式是 %d   浮點數doule 的表現方式是%lf ## 布林值 Boolean 用 bool 表示,可以用來判斷邏輯的對錯! 而輸出的答案是,YES 或 NO (輸出時呈現方式, 1 為YES  __  0為NO) 其他隨記: # 然後只有數字型別才做運算,文字運算沒有意義。 # 占位符的運用,可以把要使用的值帶入 #程式碼紀錄

IOS-Swift 學習筆記_(變數 常數)

圖片
在Swift語言當中把變數的 型別省略了,系統會自己判斷 ! 直接用var 和 let這兩種來指定變數與常數! 在Swift語言當中,把常數的寫法適是用let! 而在這個let開頭所引導的值,是 不可以改變的 ,如果要變動則是要把它寫成var 預設值的部份,可以最後再寫(要用前在寫即可 ) 但是在 型別的運算是比較嚴格的,型別不符則不能運算! 這樣才是正確轉型的方式 或是這樣轉 從這裡我們可以看出來轉則不同型態後,所運算出來的內容結果也會有所不同! 因此在使用前,要先想好這個是要用哪一種型態來運算 注意這裡是一個重大的不同 (number++  ;   ++number 這個功能被移除了) 筆記:        這一篇主要紀錄是在swift中在前面不用宣告型態,直接用var 和 let 讓系統幫你去判斷,string /number ... 等類型!         如果上面所看到的直接可以使用,但是在於不同類型的運算上,有嚴格的限制!!(不同型別不能做運算,只能透過轉型)        而最重要的++功能拿掉了。 # swift語法的四則運算方式和objective_c / java 的方式一樣! (但廢除number++ 這個用法 ) # UIButton( ) 這個意思是製造一個 Button double( ) 這個意思是製造一個 double # ( ) 這個括號的名字叫做:建構式 從這就開始感覺到,有種學完swift後,就讓人不想回去寫objective-c了! 目前筆記內容也會偏向把兩者差異給記錄下來,即使未來swift越來越完整後,沒人用objective-c還是一個不錯的紀錄進化史!

IOS-Swift 開發筆記_學前心得比較

圖片
接下來也會花一些時間來記錄,Swift語法的學習筆記! 目前從閱讀一些內容後,跟之前還沒接觸到Objective-C時的心得想法又有所不同! 以前在網路上收尋到的資料,大家都說Swift很好學習;在還沒接觸Objective-C前覺得沒什麼感覺,但在兩者有學習後才更明顯的感覺出網路上大家都說Swift比較容易明白暸解。 快速瀏覽前幾頁的時候感覺,很多部分變得比較簡化明瞭易懂更直覺。 在此先做一個學前紀錄,等學完之後再寫一篇心得感想,來做整體的紀錄。

IOS開發筆記__AlertController(警告控制器-含文字框的警告控制器)

圖片
這一篇一樣式警告視窗,而這個警告視窗是 含有文字的!(例如輸入帳號密碼) 因此在警告視窗上我們需要加上,文字框來讓使用者輸入 (configuration 有組態的意思,這裡可以設定文字框的內容,而要設定的內容要寫在block內) 這篇主要不同的部分是在於,在這控制器加上了文字框,因此我們會再加上面所提到的 addTextFieldWithConfigurationHandler 這個來讓畫面出現可以輸入文字框的內容! 而保護使用者輸入文字這一段,是讓使用者輸入完密碼會變符號隱藏起來的效果! 效果如下 也因為當按下送出帳號密碼時,要去取得使用者輸入的帳號密碼,因此程式碼的部分就寫在按下送出這個部分了! 筆記: 因此整體而言,做警告視窗的方式流程是一樣的,差別在於要加入讓使用者文字的文字框! 以及當輸入完成後,按下確定要傳送的帳號密碼部份,分別把帳號和密碼文字取出,然後在印出。 基本上就是想幹嘛,就是去寫他要的程式碼! 然後當使用者使者動作結束後,接下來要按什麼做下一個動作時,要幹嘛就馬要幹嘛的事寫在相呼應的區域上。

IOS開發筆記__AlertController(警告控制器-沒有文字框的警告控制器)

圖片
  這個是帶有警告意味的訊息意思,所以在使用上要看重要性而定!而目前要寫的是兩種警告的表示方法。一個是有文字框的警告視窗(類似輸入帳號密碼),另一個是沒有文框的警告(跳出一個訊息)! 這一篇筆記主要是記錄 “沒有文字框的警告視窗” 接下來前面的做法和前面的方式一樣,按下按鈕後要彈出視窗!View-->ViewController因此我們要先建立IBAction通道! 然後再準備警告視窗和警告視窗上的按鈕,然後填寫要呈現的內容。 準備警告視窗,準備警告視窗上的按鈕(一個確認,一個取消),把這按鈕加到畫面上,最後再把整個警告視窗呈現出來 畫面呈現 筆記: ## 然後這個控制器,還必須加入上面的按鈕,而在這上面的不是button而是UIAlertAction,而這個也是直接按照格式把要顯示的內容填上即可! 而顯示的方式有三種形式 ## AlertController 使用很方便,只要按照他出現的程式碼去填寫,你要出現的內容! 而警告出現的方式有兩種,一個是從中間出現,另一個是由上而下