**
2018-9-6
ios初步的語法簡介和相關型別
//: playground - noun: a place where people can play
import uikit
//可以用let或者var定義
let label = "the width is"
//用\()可以將資料轉換成字串
//補碼在計算機負數總比證書多乙個數
//元祖tuple
//遠足可以分解,可以用下標訪問元組中每個值
let amount = (100,"eur")
let currency = amount.1
//元組可以給每個元素命名
let mon = (amount:100,currency:"eur")
let cur = mon.currency
//元組分解可以指分解部分值,其他值用_代替
//let (cur,_) = mon
//swift沒有++,--,for,一律用for..in代替,in後是可以放任何有順序的,if後沒有圓括號,且條件必須是bool值的
let ind = [56,76,87,98]
for score in ind
//===,!==判斷是否是同乙個應用物件,或者是位置
//字典key-value,最後乙個元素後面允許有個逗號
var occupations = [
"ma":"ca",
"ka":"ner",
]occupations["ja"] = "pu"
//空陣列
let emptyarray = [string]()
//空字典
let e = [string:float]()
//元組(元組的作用)
var x = 1, y = 2
print("x=\(x) y=\(y)")
(x,y) = (y,x)
print("x=\(x) y=\(y)")
//字典的訪問快,但是順序和放入的順序不同,因為是雜湊表,陣列訪問速度很慢,元組可以同時存多型別的元素,並且個數固定,不可增加刪除,一般適合少量資料
//switch
var age = 60
switch age
//函式(_空標籤,否則要加上引數名)
func greet(_ person:string,_ day:string) -> string
var m = greet("jfa","28193")
func add(x:intptr_t,y:intptr_t) -> intptr_t
var r = add(x: 1, y: 2)
print(r)
//..《不包括上界,...包括上界
//可選值
var k:string? = "hello world"
print(k)
var str:string = ""
if k != nil
//函式可以巢狀,函式是一等公民,可以做很多事情,還可以作為函式的返回值,最外層的返回值是被返回的函式的引數和返回值型別
func ma() -> ((intptr_t) -> intptr_t)
return addone
}//函式可以作為引數
//閉包,函式是有名字的閉包,還有一種沒有名字的閉包(匿名函式)
var primes = [int]()
for i in 2...100
primes.sort(by: compare(one:two:))
primes.sort(by: compare)
primes.sort(by: )
primes.sort(by: )
primes.sort(by: )
primes.sort
primes.sort(by: >)
print(primes)
陣列例題(陣列排序)
//例題
var primes = [int]()
for i in 2...100
primes1.sort(by:compare(n1:n2:))*/
//方法二
/**func compare(n1:int,n2:int)->bool
primes1.sort(by:compare)*/
//方法三
/**primes1.sort(by:)*/
//方法四
/**primes1.sort(by:)*/
//方法五
/**primes1.sort(by:)*/
//方法六
/**primes1.sort(by:)*/
//方法七
primes1.sort(by:>)
print(primes1)
ios中的類和物件
《注意》
1.系統要求儲存屬性必須初始化
2.可選值可以不初始化,預設將設定為nil
3.如果非可選型別儲存屬性不設定預設值,則必須在初始化方法中對其進行初始化
4.類必須自己寫初始化方法,用來初始化沒有預設值的非可選儲存屬性
5.結構體系統缺省會新增初始化方法,也可以自定義
6.子類如果沒有自己的初始化方法,系統預設使用父類的初始化方法,一旦有了自己的初始化方法,或者重寫了父類的初始化方法,則父類的所有初始化不能被子類呼叫
7.可以給子類新增和父類相同的初始化方法,但需要加上override 修飾
8.重寫父類的convenience修飾的便利初始化方法,不需要加override
9.用self來區分引數和例項變數
《類的初始化》
IOS學習筆記 OC(一)類與物件
import int main int argc,const char argv return 0 1.oc相對於c 在c的基礎上新增了一小部分物件導向的語法 將c的複雜語法封裝的更為簡單 oc完全相容c語言 在c語言的基礎上新增了一小部分物件導向的語法 2.oc程式的原始檔的字尾名是.m m代表m...
JS 學習筆記 物件導向和類的繼承
程式設計中乙個有兩個程式設計思想,其中乙個是面向過程,另乙個是物件導向。下面分別介紹一下這兩種程式設計方式。面向過程程式設計全稱為 process oriented programming 可以簡稱為 pop。面向過程就是分析出解決問題所需要的步驟,然後用函式把這些步驟逐步實現,使用的時候再依次呼叫...
C 物件模型學習筆記一 類物件所占用的空間
測試驗證各種類物件所占用的空間。結論 1 空類占用1個位元組記憶體空間。2 成員函式不占用類物件的記憶體空間。3 成員變數占用物件的記憶體空間。總結 成員變數時包含在每個物件中的,是占用物件記憶體空間的,二成員函式,每個類只誕生乙個 跟著類走 是不占用物件記憶體空間的。include using n...