//messaging (objective-c)
//訊息結構其執行時執行的的**由執行環境來決定
object *obj = [object new];
[ob performwith:parameter1 and: parameter2];
//function calling (c++)
//函式呼叫則由編譯器來決定
object *obj = new object;
obj->perform(parameter1, parameter2)
複製**
nsstring stackstring;
//error: inte***ce type cannot be statically allocated
複製**
cgrect frame;
frame.origin,x = 10.0f;
複製**
nsarray *arraya = [nsarray arraywithobjects:@"dog", @"cat", @"badger", nil];
nsstring *cat = [arraya objectatindex:1];
nsarray *arrayb = @[@"dog", @"cat", @"badger"];
nsstring *cat = arraya[1];
nsdictionary *dica = [nsdictionary dictionarywithobjectsandkeys:@"matt", @"firstname", @"galloway", @"lastname", [nsnumber numberwithint:28], @"age", nil];
nsdictionary *dicb = @;
複製**
若 "cat" 變成 nil ,arraya雖然能建立出來,但卻只有 "dog" 乙個物件。因為 arraywithobjects 會依次處理各個引數,直到發現 nil 為止。同理 dictionarywithobjectsandkeys 方法也是一樣。
nsmutablearray *mutable = [@[@1, @2, @3, @4] mutablecopy];
複製**
static const nstimeinterval kanimationduration = 0.3;
複製**
常用命名法:若常量侷限於某個 .m 檔案之內,則在前面加字母 k ;若常量在類之外可見,則通常以類名為字首。
這種命名法清楚地描述了常量的含義(包含型別資訊)。
一定要同時使用 static 和 const 來宣告:試圖修改 const 宣告的變數編譯器會報錯;static 修飾符意味著該變數僅在 .m 檔案中可見。
如果不加 static ,編譯器會建立乙個外部符號,此時若其他 .m 中也宣告了同名變數,編譯器就會報錯。
//in the header file
extern nsstring *const someclassnsnotificationname;
//in the implementation file
nsstring *const someclassnsnotificationname = @"value";
複製**
這是乙個由常量指標修飾的 nsstring 物件,不能夠被修改。extern 關鍵字告訴編譯器,在全域性符號表中會有乙個叫 someclassnsnotificationname 的符號,編譯器無需檢視其定義就允許**使用,因為這個常量鏈結成二進位制檔案之後肯定能找到。此類常量只能定義一次,編譯器會在資料段(全域性區中的data區)為字串分配儲存空間。 Java編寫高質量的方法
工作中我們經常編寫大量方法來實現我們的需求,如寫一些公用方法處理相同業務。雖然我們每天都要寫很多方法,不過很多人並不知道如何編寫高質量的方法,寫的方法也是亂成一團,本次參考 大全 中高質量的子程式一章,介紹下如何編寫高質量的方法,讓我們的 看起來更優秀。一.我們為什麼要編寫方法 1.避免 重複。試想...
編寫高質量的CSS
我們應用css的能力應該分成兩部分 一部分是css的api,重點是如何用css控制頁面內元素的樣式 另一部分是css框架,重點是如何對css進行組織。base層 reset功能 通用類 common層 元件級別的css類 page層 頁面級別css樣式 舉個例子,有兩個列表,列表條目1字型14px紅...
高質量CSS編寫規範
id和class的命名在保持語義性的同時盡可能的短.可以縮寫單詞,但縮寫後務必能讓人明白其含義。比如author縮寫成atr就非常費解。屬性書寫順序,首先定義顯示屬性 推薦的寫法 selector 不推薦的寫法 selector 這樣,就可以從css 規則中靠前的定義獲得顯示版式。框架為先,細節次之...