IOS-筆記5 (swift和OC,View大小和位置)
Objective-c和swift:
NSString----->Stirng NSArray------->Array<AnyObject> NSDictionary------>Dictionary<NSObject, AnyObject> Int Float Doulbe Bool------>NSNumber
這些可以用as強制互相轉換,比如你將swift中的Array轉換成了OC中的NSArray,你就可以呼叫NSArray中的方法了。
Property List,是一個型別已知的AnyObject型別的資料集合,比如一個NSDictionary,它的鍵是NSString,值是NSDate組成的NSArray陣列。可用在隱式的傳遞資料,因為在傳遞的過程中誰也不知道這個AnyObject是什麼型別,就像cookie。還可以用作繁星,因為AnyObject可以是任意型別。
NSUserDefaults 是一個微型資料庫,只能儲存Property List,用來儲存設定,引數等資訊,它效能並不好所以不能用來存放圖片等大型資料~,它的結構就像字典,用鍵值來標註儲存的List,在你的App退出後它還是會儲存這些資料
View
使用CGFloat型別來表示控制元件和觸控在螢幕中的座標。當你使用Double或Float時,需要用CGFloat()方法轉化CGPoint,CGSize分別代表位置和大小。CGRect由前兩個組成,CGRect有很多有趣的方法。
在view裡繪圖和在canvas裡繪圖很像,使用UIBezierPath物件獲得畫筆,但在設定顏色的時候使用UIColor.GreenColor().setFill()或setStroke()。
可以繪製透明色,使用.colorWithAlphaComponent()方法,不過需要先把opaqe屬性設定為false。可以通過設定hidden屬性來完全隱藏View
使用UIFontTextStyle.Headline/Body/Footnote等來設定字型,這是IOS的推薦字型,使用這樣的字型有助於優化體驗。
建立影象,將影象放在images.xcassets資料夾中,比如說ght.jpg。那麼建立UIImage物件時使用:let image: UIImage? = UIImage(named: "ght")即可,注意返回的是一個Optional。還可以自己建立影象貌似,不過還需要探究。畫的時候直接image點上方法就可以畫了。
當用戶旋轉裝置時會造成bounds的變化,原有的介面會被預設的拉伸,這當然不是我們想要的。這時使用UIViewContentMode物件可以做到一些重繪之類的修改。
相關推薦
IOS-筆記5 (swift和OC,View大小和位置)
Objective-c和swift: NSString----->Stirng NSArray------->Array<AnyObject> NSDictionary------>Dictionary<NSOb
python學習筆記5(布林值、空值、與列表)
布林值、空值、與列表 布林值:一個布林值只有True、False兩種值 空值:是Python裡一個特殊的值,用None表示。None不能理解為0,因為0是有意義的,而None是一個特殊值。 b1 = True b2 = False print(b1, b2) n = None pri
運維筆記33 (haproxy的配置,pacemaker高可用+haproxy)
概述:之前的部落格中提到的一種負載均衡方式是lvs,lvs的配置簡單,減少了認為出錯的概率,而且軟體處在tcp/ip協議棧的第四層,可以對各種web應用服務,但是因為本身不支援正則表示式處理,不能做動靜分離。那麼今天的haproxy的優勢就體現出來了,能夠支援虛
Selenium3+webdriver學習筆記5(模擬常用鍵盤和滑鼠事件)
#!/usr/bin/env python# -*- coding:utf-8 -*-from selenium import webdriverfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.common.acti
Spring框架學習筆記——IoC(Inversion of Control,控制反轉)和AOP(Aspect Oriented Programming,面向切面程式設計)
1、Spring IoC IoC是一個Bean容器,在Spring中,它認為一切Java資源都是Java Bean,容器的目標就是管理這些Bean和它們之間的關係。所以在Spring IoC裡面裝載的各種Bean,也可以理解為Java的各種資源,包括Java Bean的建立、事件、行為和Java
Swift和OC,是編譯型語言、解釋性語言、執行時語言?
首先需要明確的一點是,什麼是編譯型語言和解釋性語言 編譯型語言,就是在其執行過程中需要先將其經過編譯成機器碼來給計算機識別的,其執行效率就會比較高這個是顯而易見的,常見比如:C、C++ 而解釋型語言,是不用編譯這個過程的,只是在執行時通過相應的翻譯器(虛擬機器)逐行翻譯。這
C#學習筆記二 (資源托管,泛型,數組和元組,運算符和類型強制轉換)
方法 約束 資源 實例 對象 where 學習筆記 如果 數據庫連接 1.托管資源是指GC管理的內存空間,非托管資源是指文件句柄,網絡連接,數據庫連接等。 2.方法中臨時申請的變量,被存放在棧中。棧存儲非對象成員的值數據。例如在方法中有B b=new B(); b的
python筆記-5(內置函數)
全局 png 給定 exe min most spa post 說明 一、內置函數 1、abs()--取絕對值函數 print(abs(-0.11)) x=-0.01 y=0.11 print(abs(x),abs(y)) ------------------------
求一個整數數組中和最大的連續子數組,例如:[1, 2, -4, 4, 10, -3, 4, -5, 1]的最大連續子數組是[4, 10, -3, 4](需寫明思路,並編程實現)
class col code pan IT [] 例如 exit arr $arr = [ 1 , 2 , -4 , 4 , 10 , -23 , 4 , -5 , 1]; $max_sum = 0; $sum=0; $new = []; $i =
讀Muduo原始碼筆記---5(NTP協議)
1、概念 NTP是網路時間協議(Network Time Protocol),它是用來同步網路中各個計算機的時間的協議。 2、原理 客戶機首先向伺服器傳送一個NTP 包,其中包含了該包離開客戶機的時間戳T1,當伺服器接收到該包時,依次填入包到達的時間戳T2、包離
自旋鎖和自適應自旋鎖(不看後悔,看了必懂)
自旋鎖 所謂自旋,就是指當有另外一個執行緒來競爭鎖時,這個執行緒會在原地迴圈等待,而不是把該執行緒給阻塞,直到那個獲得鎖的執行緒釋放鎖之後,這個執行緒就可以馬上獲得鎖的。鎖在原地迴圈的時候,是會消耗cpu的,就相當於在執行一個啥也沒有的for迴圈。 本來一個執行緒把鎖釋放之後,當前執行緒
樂觀鎖和悲觀鎖(不看後悔,看了必懂)
鎖從巨集觀上分類,分為樂觀鎖和悲觀鎖 樂觀鎖是一種樂觀的思想,每次獲取資料的時候都不擔心資料會被修改,所以每次獲取資料的時候都不會加鎖,但是在更新的時候需要判斷該資料是否被人修改過.如果資料被其他執行緒修改,則不進行資料更新,否則,更新.由於資料沒有加鎖,期間該資料可以被其他執行緒進行讀寫操
hibernate和mybatis的區別(不看後悔,看了必懂)
①hibernate是一個標準的orm(物件關係對映)框架,通過JavaBean和資料庫的對映結構來自動生成sql;mybatis是不完全的orm框架,專注於sql本身,需要程式設計師自己寫sql; ②hibernate對sql的優化和修改比較困難,適合於需求變化不多的中小型專案,如ERP(
spring bean的單例和多例的使用場景和在單例bean中注入多例(不看後悔,一看必懂)
為什麼用單例或者多例?何時用? 之所以用單例,是因為沒必要每個請求都新建一個物件,這樣子既浪費CPU又浪費記憶體; 之所以用多例,是為了防止併發問題;即一個請求改變了物件的狀態,此時物件又處理另一個請求,而之前請求對物件狀態的改變導致了物件對另一個請求做了錯誤的處理;
spring bean的生命週期和作用域(不看後悔,一看必懂)
bean的生命週期 生命週期執行的過程如下: 1)spring在讀取xml配置檔案時對bean進行例項化,預設bean是單例 2)spring對bean進行依賴注入 3)如果bean實現了BeanNameAware介面,spring將bean的id傳給setBeanName
Spring的IOC,DI和AOP(不看後悔,一看必懂)
spring的優點 ①IOC和DI降低了元件之間的耦合性 ,讓程式設計師更專注於業務邏輯 ②容器提供了眾多的輔助類,能加快應用的開發 ③spring對於主流的應用框架提供了整合支援,如hibernate,mybatis,Struts等 ④spring屬於低侵入式設計,程式碼的汙染
JSP和Servlet的區別和聯絡(不看後悔,一看必懂)
在引入jsp之前呢,在web應用程式中,所有的業務邏輯和HTML的響應都是在Servlet中實現的.由於業務邏輯和檢視沒有分離,系統的可擴充套件性,可讀性和可維護性都較差 jsp從表面上看,就是嵌入了java程式碼的HTML檔案;本質上jsp相當於一個Servlet.只要是
什麼是長連線和短連線(不看後悔,一看必懂)
在日常專案中,大多的時候我們用的是短連線,一個請求過來,一個執行緒處理完該請求,執行緒被執行緒池回收,這個請求就關閉了.雖然這能滿足很大部分的需求,但是也有些問題,比如說:如果客戶端發的請求比較多,比較頻繁,服務端就會忙於建立連線處理請求,由於服務端的執行緒數也有限,併發比較大的話有可能會造成服
誰說菜鳥不會資料分析(入門篇)----- 學習筆記5(資料展現:圖表)
1、圖表作用:表達形象化、突出重點、體現專業化 2、圖示型別: 3、通過關係選擇圖表 4、圖表製作5步法 5、圖表:圖所不能說的話 突出單元格顯示:絕對值 專案選取:相對值 資料條:量綱不同 圖示集:企業運營指標發展態勢監控 迷你圖
mysql中char和varchar和text的區別(不看後悔,一看必懂)
①CHAR是一種固定長度的型別,適合用在身份證號碼、手機號碼等定。,VARCHAR則是一種可變長度的型別。適合用在長度可變的屬性。 text不設定長度, 當不知道屬性的最大長度時,適合用text。 ②按照查詢速度: char最快, varchar次之,text最慢。 也就是說,