程式設計技巧 適配技巧 2

2021-07-11 07:53:30 字數 1243 閱讀 5981

上篇講了一些對尺寸的簡單適配(縮放適配)

我們這裡來講一些對於需求而言的「適配」

1.案例一:如果版本一需要四行檢視,版本二需要二行檢視,怎麼用最少的**和邏輯判斷去實現?

這裡可以用到uiview的tag:

@property(nonatomic)                                 nsinteger tag;                // default is 0
- (nullable __kindof uiview *)viewwithtag:(nsinteger)tag; // recursive search. includes self
@property(nonatomic,readonly,copy) nsarray<__kindof uiview *> *subviews;

實現:

#if is_second_ver == 1

for (int i =1; i < 5; i++)

#endif

用乙個巨集定義來控制,另外需要設定這些需要「適配」的檢視的tag為規則的101 - 105

經過乙個遍歷就可以實現了,幾乎沒有邏輯判斷和複雜的**。

2.案例二:如果有一排的按鈕,並且有著不同的title,根據安排顯示出來

突然一想,覺得有點蛋疼,這個不是數學的組合排序嗎,坑爹,有n種可能,但是細想,如果順序一致,就非常好辦了,只要參考上面的思想即可

首先拿乙個陣列來獲取存在的按鈕:

[_existbuttonarray removeallobjects];       // 每次操作前保證陣列為空

if (判空1) ];

}if (判空2)) ];

}if (判空3)) ];

}if (判空4)) ];

}if (判空5)) ];

}

這裡舉例是5個,如果是不確定,可以通過乙個迴圈遍歷即可

根據陣列內資料結構來構建檢視布局:

[_existbuttonarray enumerateobjectsusingblock:^(id obj, nsuinteger idx, bool *stop)

}];

同樣地,其他uiimageview uiview等等都可以通過這樣的形式實現

python程式設計技巧2

模組化 這是我們程式設計師夢寐以求的,通過模組化可以避免重複的製造輪子。同時模組讓你能夠有邏輯地組織你的python 段。把相關的 分配到乙個 模組裡能讓你的 更好用,更易懂。模組也是python物件,具有隨機的名字屬性用來繫結或引用。簡單地說,模組就是乙個儲存了python 的檔案。模組能定義函式...

C 程式設計技巧學習 2

二,程式的格式 空行的使用 規則2 1 1 在每個類宣告之後 每個函式定義結束之後都要加空行。規則2 1 2 在乙個函式體內,邏揖上密切相關的語句之間不加空行,其它地方應加空行分隔。單行的格式 單行的格式 規則2 2 1 一行 只做一件事情,如只定義乙個變數,或只寫一條語句。這樣的 容易閱讀,並且方...

C老鳥程式設計技巧總結 2

5 複雜指標的宣告 規則總結 1 去掉變數名就型別 去掉乙個 就是指向記憶體單元的型別 2 強調什麼將名子和強調的東東括最裡層 再將其次強調的東西括外面一層 最後強調的括最外層 型別最後加在外面 如 int i 2 指向 int 2 的指標 強調指標 int i 2 型別為 int 的陣列 強調陣列...