iOS索引列開發詳解

2021-06-25 20:14:45 字數 4262 閱讀 7421

ios索引列開發,這有篇文章

下面是我自己的:

#import "contactsmodel.h"

#import "xdsearchbar.h"

這兩個是我自定義的類,乙個聯絡人model ,乙個搜尋欄,

#import #import "contactsmodel.h"

#import "xdsearchbar.h"

@inte***ce addressbookviewcontroller : kviewcontroller

@property(nonatomic, strong) void(^didselectcontactblock)(bool isselect,contactsmodel *contact);

@end

#import "addressbookviewcontroller.h"

#import #import @inte***ce addressbookviewcontroller ()

@end

@implementation addressbookviewcontroller

- (id)initwithnibname:(nsstring *)nibnameornil bundle:(nsbundle *)nibbundleornil

return self;

}- (void)viewdidload

else if (status == xdsearchbar_tapcancel)

else{}

};//列表

listtableview = [staticfun creattableviewwithtarget:self];

listtableview.frame = cgrectmake(0, 64, boundswidth, boundsheight - 64);

[self.view addsubview:listtableview];

listtableview.tableheaderview = mysearchbar;

nslog(@"status:%ld",abaddressbookgetauthorizationstatus());

if (abaddressbookgetauthorizationstatus() != kabauthorizationstatusauthorized)

else

else

});}];

}}#pragma mark--

#pragma mark--搜尋

-(void)searchdatabysearchkey:(nsstring *)searchkey

else

}[listtableview reloaddata];

}else

}#pragma mark--

#pragma mark--uitableviewdatasource

- (nsinteger)numberofsectionsintableview:(uitableview *)tableview

- (nsinteger)tableview:(uitableview *)tableview numberofrowsinsection:(nsinteger)section

- (cgfloat)tableview:(uitableview *)tableview heightforrowatindexpath:(nsindexpath *)indexpath

- (uitableviewcell *)tableview:(uitableview *)tableview cellforrowatindexpath:(nsindexpath *)indexpath

cell.backgroundcolor = [uicolor clearcolor];

cell.selectionstyle = uitableviewcellselectionstylenone;

if (showdataarray.count > indexpath.section)

}return cell;

}- (nsstring *)tableview:(uitableview *)tableview titleforheaderinsection:(nsinteger)section

- (cgfloat)tableview:(uitableview *)tableview heightforheaderinsection:(nsinteger)section

- (nsarray *)sectionindextitlesfortableview:(uitableview *)tableview

- (nsinteger)tableview:(uitableview *)tableview sectionforsectionindextitle:(nsstring *)title atindex:(nsinteger)index

#pragma mark--

#pragma mark--uitableviewdelegate

-(void)tableview:(uitableview *)tableview didselectrowatindexpath:(nsindexpath *)indexpath

}- (void)didreceivememorywarning

-(void)showhud

-(void)alertmessage

-(nsmutablearray *)selectfrombook:(nsmutablearray *)formbookarray

nsinteger highsection = [[thecollation sectiontitles] count];

nsmutablearray *sectionarrays = [nsmutablearray arraywithcapacity:highsection];

for (int i=0; i <= highsection; i++)

for (contactsmodel *addressbook in formbookarray)

for (nsmutablearray *sectionarray in sectionarrays)

return titlearray;

}#pragma mark--讀取所有聯絡人

-(void)readabaddressbook:(void(^)(bool compelete,nsmutablearray *peoplearray))block );

dispatch_semaphore_wait(sema, dispatch_time_forever);

//dispatch_release(sema);}}

else

abaddressbookrequestaccesswithcompletion(addressbook, ^(bool granted, cferrorref error)

});});

nsarray *arrayofallpeople = (__bridge_transfer nsarray *) abaddressbookcopyarrayofallpeople(addressbook);

nsuinteger peoplecounter = 0;

for (peoplecounter = 0;peoplecounter < [arrayofallpeople count]; peoplecounter++)

[localpeopledic setobject:name forkey:@"name"];

//**

abmultivalueref phones = abrecordcopyvalue(thisperson, kabpersonphoneproperty);

for (nsuinteger phonecounter = 0; phonecounter < abmultivaluegetcount(phones); phonecounter++)

contactsmodel *model = [[contactsmodel alloc] initwithdictionary:localpeopledic];

[temparray addobject:model];

}cfrelease(addressbook);

if (temparray.count > 0)

else

}#pragma mark 去掉不要的字元(比如:-、()等等)

- (nsstring *)trimsting:(nsstring *)str

@end

IOS開發 Blocks詳解

從mac os x 10.6以及ios 4開始,蘋果在gcc和clang編譯器中為c語言引入了乙個新擴充套件 blocks,使得程式設計師可以在c objective c c 和objective c中使用閉包。blocks有點像函式,但是它可以在其它函式或方法中進行宣告和定義,同時它還是匿名的 匿...

iOS開發 Block詳解

block是乙個非常有特色的語法,它可以把乙個 塊作為乙個變數來儲存,也可以通過函式傳遞變數,然後讓其他的物件來執行這一 塊。可以儲存傳遞並在其他地方執行的 塊,這是我對block的理解,也是我覺得block最吸引我的地方。直接定義 返回block指標 返回型別 可省略 引數型別 引數 沒有引數可省...

IOS開發之屬性詳解

在開發過程中經常要用到定義屬性,property和 synthesize是經常用到的關鍵字,那麼到底該如何正確定義乙個屬性呢,我們需要了解其中用到的關鍵字。atomic 原子操作 原子性是指事務的乙個完整操作,操作成功就提交,反之就回滾.原子操作就是指具有原子性的操作 在objective c 屬性...