原创 9.元組類型

一般,在swift語言中,如果我臨時想把幾種類型湊在一起,我們可能需要這個tuples(元組類型),通過”()”,之間用”,”隔開如 let http404Error = (404,"Not Found") //又如 let 昨

原创 19.選並操作符(空合運算符)

空值合併操作符,是對三元運算符在可選類型情況下的一種簡化操作 let 底線品牌 = "華爲" var 理想品牌 : String? var 實際入手 = (理想品牌 ?? 底線品牌)//結果顯示爲華爲,因爲當前"理想品牌爲nil

原创 17.閉區間和半開區間

閉區間,有一個起始和終止的範圍,包含起始值和終止值,主要用途用在for-in循環 for index in (1...5) {//閉區間 print("\(index) times 5 is \(index)") } //

原创 iOS通過郵件獲取APP異常崩潰信息

在AppDelegate.m文件中實現以下方法,程序在生產環境中,若發生崩潰,會提示用戶發送郵件給開發者: - (BOOL)application:(UIApplication *)application didFinishLau

原创 12.斷言Assert

儘管可以用optional來檢查值存不存在,有時候在代碼中,是需要一個值,或者能滿足的值,程序才能運行,這時候需要assert來對程序進行調試,如: let 年齡 = 100 assert(年齡 >= 18, "A person

原创 storyboard解析

如何理解SB? 最簡單的理解就是:一個.storyboard文件相當於多個基於VC使用的.xib文件,由此我們可以看出,SB(只能基於VC,不能基於View),我們有多個VC的類是可以和一個SB文件建立關係的,使用方法: SecV

原创 UITextView中禁止輸入表情Emoji

在UITextView代理方法中調用以下2個方法 - (void)textViewDidChange:(UITextView *)textView { if (![self isValidString:textView.t

原创 10.可選類型optional(解包和綁定)

當一個值可能是不存在的時候,就需要用到可選類型(optionals),optionals一種情況是值不存在,另外一種情況是他有一個值,這個值等於某一個X,例如: let possibleNumber = "123" let con

原创 iOS漢字字符串轉拼音

有時候在開發中會遇到,需要通過拼音來進行排序,分類,但是服務器並沒有返回帶拼音的字符串,蘋果爲我們提供了對應的方法,來獲取拼音 NSString *hanziText = @"我是中國人--重慶---長沙"; if

原创 15.取正負和組合賦值

我們常常需要一個負的數,這時候需要用到”一元取負操作符”,比如: let san = 3 let 負三 = -san//值爲-3 let 正三 = -負三 //值爲3 加法運算符 let 取正 = +負三//值爲-3 +號的作用只

原创 xib中使用auto layout

iPhone5使屏幕從3.5”增大到了4.0”,與之對應的iOS6也就引入了auto layout,auto layout是一個很重要的概念,是獨立於xib的,但是auto layout從一開始就是與xib強綁定的,因爲在xib裏

原创 13.基礎操作符

操作符一共分爲三種,unary,Binary,Ternary Unary:每次只操作一個目標,而且緊跟變量或者常量前面或者後面,沒有空格(如:-a,i++),是一個一元操作符 Binary:位於操作的2個對象中間,而且最好有空格

原创 18.邏輯運算符

邏輯非”!”,邏輯或”||”,邏輯與”&&” 邏輯非作用是講true變爲false,講false變爲true 1.邏輯非 let 請進 = false if !請進 { print("請進") } else {

原创 -canOpenURL: failed for URL: "xx" - error:"This app is not allowed to query for scheme xx"

控制檯輸出 如圖是在我啓動一個 Xcode 7 + iOS 9 的 App 之後,控制檯的輸出。 這在 Xcode 6.4 + iOS 8 時,是不會有的情況,原因是【爲了強制增強數據訪問安全, iOS9 默認會把所有從NSUR

原创 14.浮點數取餘和自增自減

在swift語言中,可以對浮點數進行取餘操作,比如 1024 % 3.5 Int (1024 / 3.5) 292 * 3.5 + 2 自增和自減,這種運算在循環中經常用到, var i = 0 ++i //等同於 i =