kvc鍵值編碼,使用完整例項:
#import
@inte***ce course : nsobject
- (nsstring*)description;
@end
#import "course.h"
@implementation course
- (nsstring*)description
@end
#import
#import "course.h"
@inte***ce student : nsobject
- (nsstring*)description;
@end
#import "student.h"
@implementation student
- (nsstring*)description
@end
#import
#import "student.h"
#import "course.h"
int main(int argc, const char * argv)
return 0; }
block語句塊
//當在block語句塊外的變數用__block宣告時,在block語句塊中此變數才可以被修改
__block int num = 10;
void(^myblock)(int n1,int n2) = ^(int num1,int num2);
myblock(1,2);//呼叫
//使用block語法來對陣列中的元素進行排序和列舉訪問陣列中的元素,步驟為:
nsarray* array = [nsarray arraywithobjects:@"string1",@"string12",@"string21",@"string01",nil];
nscomparator comparator = ^(id obj1,id obj2);
nsarray* array1 = [array sortedarrayusingcomparator:comparator];
nslog(@"array1:%@",array1);
//列舉,逐一去訪問元素
[array1 enumerateobjectsusingblock:^(id obj,nsuinteger index,bool* stop)];
KVC設計模式講解
在objective c語言中,可以用 property和 synthesize來建立例項變數的屬性,因此物件訪問的時候可以直接使用點語法。但是,如果不宣告屬性,如何訪問到物件的例項變數呢?kvc就解決了這一問題。kvc 全稱key value coding,也就是鍵值編碼。先看下面乙個例子 int...
OC高階語法之KVC和KVO的學習
這是oc語法中重要的部分,學習者絕對不能因為想偷懶而不學這個。一 鍵值編碼kvc key value coding 相對kvo,這個比較簡單。1.最基本的kvc由nskeyvaluecoding協議提供支援,基本的操作屬性的兩個方法 setvlaue 屬性值 forkey 屬性名 這是為指定屬性設定...
策略和裝飾模式講解
策略模式 它定義了演算法家族,分別封裝起來,讓它們之間可以互相替換,此模式讓演算法的變化,不會影響到使用演算法的客戶。封裝變化是我們物件導向的一種很重要的思維方式。在我們專案中的體現就是,如果要在不同的時刻應用不同的業務規則,就可以使用策略模式。只使用策略模式在客戶端需要進行判斷,根據傳入的引數去傳...