KVC模式講解和Block語法

2021-06-20 05:28:45 字數 1204 閱讀 9839

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 屬性名 這是為指定屬性設定...

策略和裝飾模式講解

策略模式 它定義了演算法家族,分別封裝起來,讓它們之間可以互相替換,此模式讓演算法的變化,不會影響到使用演算法的客戶。封裝變化是我們物件導向的一種很重要的思維方式。在我們專案中的體現就是,如果要在不同的時刻應用不同的業務規則,就可以使用策略模式。只使用策略模式在客戶端需要進行判斷,根據傳入的引數去傳...