讀取電話薄內容在TableView中顯示

2021-07-30 04:21:26 字數 2250 閱讀 1903

首先新增addressbook.framework類庫.再#inport到頭檔案裡.

具體**如下:(分組首字母沒有進行排序)

#import "viewcontroller.h"

#import

@inte***ce viewcontroller ()

@property (nonatomic, retain) nsmutabledictionary *personnamesbyindex;

@property (nonatomic, retain) nsmutabledictionary *personcompaniesbyindex;

@property (nonatomic, retain)

nsarray

*personindexes;

@end

@implementation viewcontroller

-(void)dealloc

- (void)viewdidload

[names addobject:(nsstring *)personname];

// 判斷這個首字母是否有對應的公司名陣列

nsmutablearray *companies = [self.personcompaniesbyindex

objectforkey:personindex];

if (!companies)

[companies addobject:(nsstring *)personcompany];

}// end of for 6次

if (personname)

if (personcompany) }

cfrelease(contacts);

cfrelease(addressbook);

// 將索引set轉為陣列

self.personindexes = [indexes allobjects];

nslog

(@"%@"

,self

.personindexes);

}- (void)didreceivememorywarning

-(nsinteger)numberofsectionsintableview:(uitableview *)tableview

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

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

// 取得當前section對應的索引名

nsstring *personindex = [self.personindexes

objectatindex:indexpath.section];

// 根據索引名取得姓名字串

nsstring *personname = [[self.personnamesbyindex

objectforkey:personindex] objectatindex:indexpath.row];

// 根據索引名取得公司名字串

nsstring *personcompany = [[self.personcompaniesbyindex

objectforkey:personindex] objectatindex:indexpath.row];

// 為單元格設定屬性

cell.textlabel.text = personname;

cell.detailtextlabel.text = personcompany;

return cell;

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

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

// 當section數和索引數不一致時須改寫此方法

// 如果一致可以不寫

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

@end

poj之路2 487 3279電話薄求重複

自己的思路實現的,少量資料時可以正常執行,因為使用了string陣列,不能達到100000的資料量。這個演算法是第一次使用string類的一些函式,留著供以後參考。如下 include include include using namespace std char get num char a i...

MTK電話薄中所用到的資料結構及其在電話薄中的作用

程式就是 資料結構 演算法。了解了程式的資料結構,那麼整個系統就明白一大半了。下面關於 薄用到的比較重要的資料結構,看完應該對 薄 有個比較清晰的認識。第乙個問題 mtk系統中怎麼儲存 薄的?phonebook max pb entries 薄中最 重要的結構mmi phb entry bcd st...

QT4版mini電話薄設計

基於ubuntu woojoy的qt4版mini 薄設計 前言 linux作業系統 本設計中的 ubuntu woojoy 執行在虛擬機器 下開發環境。應用程式 框架。它提供 給應用程式開發者建立藝術級的圖形使用者介面所需的所用功能。qt是完全 物件導向 的,很容易擴充套件,並且允許真正地元件程式設...