iOS:UITableViewCell使用详解
转载自:http://my.oschina.net/u/2340880/blog/410421 程序猿神奇的手,每时每刻,这双手都在改变着世界的交互方式! 本文转自当天真遇到现实博客园博客,原文链接:http://www.cnblogs.com/XYQ-208910/p/5292289.html ,如需转载请自行联系原作者
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
|
ABAddressBookRef addressBook = ABAddressBookCreate();
CFArrayRef results = ABAddressBookCopyArrayOfAllPeople(addressBook);
for
(
int
i = 0; i < CFArrayGetCount(results); i++)
{
ABRecordRef person = CFArrayGetValueAtIndex(results, i);
//读取firstname
NSString
*personName = (
NSString
*)ABRecordCopyValue(person, kABPersonFirstNameProperty);
if
(personName !=
nil
)
textView.text = [textView.text stringByAppendingFormat:@
"\n姓名:%@\n"
,personName];
//读取lastname
NSString
*lastname = (
NSString
*)ABRecordCopyValue(person, kABPersonLastNameProperty);
if
(lastname !=
nil
)
textView.text = [textView.text stringByAppendingFormat:@
"%@\n"
,lastname];
//读取middlename
NSString
*middlename = (
NSString
*)ABRecordCopyValue(person, kABPersonMiddleNameProperty);
if
(middlename !=
nil
)
textView.text = [textView.text stringByAppendingFormat:@
"%@\n"
,middlename];
//读取prefix前缀
NSString
*prefix = (
NSString
*)ABRecordCopyValue(person, kABPersonPrefixProperty);
if
(prefix !=
nil
)
textView.text = [textView.text stringByAppendingFormat:@
"%@\n"
,prefix];
//读取suffix后缀
NSString
*suffix = (
NSString
*)ABRecordCopyValue(person, kABPers*****uffixProperty);
if
(suffix !=
nil
)
textView.text = [textView.text stringByAppendingFormat:@
"%@\n"
,suffix];
//读取nickname呢称
NSString
*nickname = (
NSString
*)ABRecordCopyValue(person, kABPersonNicknameProperty);
if
(nickname !=
nil
)
textView.text = [textView.text stringByAppendingFormat:@
"%@\n"
,nickname];
//读取firstname拼音音标
NSString
*firstnamePhonetic = (
NSString
*)ABRecordCopyValue(person, kABPersonFirstNamePhoneticProperty);
if
(firstnamePhonetic !=
nil
)
textView.text = [textView.text stringByAppendingFormat:@
"%@\n"
,firstnamePhonetic];
//读取lastname拼音音标
NSString
*lastnamePhonetic = (
NSString
*)ABRecordCopyValue(person, kABPersonLastNamePhoneticProperty);
if
(lastnamePhonetic !=
nil
)
textView.text = [textView.text stringByAppendingFormat:@
"%@\n"
,lastnamePhonetic];
//读取middlename拼音音标
NSString
*middlenamePhonetic = (
NSString
*)ABRecordCopyValue(person, kABPersonMiddleNamePhoneticProperty);
if
(middlenamePhonetic !=
nil
)
textView.text = [textView.text stringByAppendingFormat:@
"%@\n"
,middlenamePhonetic];
//读取organization公司
NSString
*organization = (
NSString
*)ABRecordCopyValue(person, kABPersonOrganizationProperty);
if
(organization !=
nil
)
textView.text = [textView.text stringByAppendingFormat:@
"%@\n"
,organization];
//读取jobtitle工作
NSString
*jobtitle = (
NSString
*)ABRecordCopyValue(person, kABPersonJobTitleProperty);
if
(jobtitle !=
nil
)
textView.text = [textView.text stringByAppendingFormat:@
"%@\n"
,jobtitle];
//读取department部门
NSString
*department = (
NSString
*)ABRecordCopyValue(person, kABPersonDepartmentProperty);
if
(department !=
nil
)
textView.text = [textView.text stringByAppendingFormat:@
"%@\n"
,department];
//读取birthday生日
NSDate
*birthday = (
NSDate
*)ABRecordCopyValue(person, kABPersonBirthdayProperty);
if
(birthday !=
nil
)
textView.text = [textView.text stringByAppendingFormat:@
"%@\n"
,birthday];
//读取note备忘录
NSString
*note = (
NSString
*)ABRecordCopyValue(person, kABPersonNoteProperty);
if
(note !=
nil
)
textView.text = [textView.text stringByAppendingFormat:@
"%@\n"
,note];
//第一次添加该条记录的时间
NSString
*firstknow = (
NSString
*)ABRecordCopyValue(person, kABPersonCreationDateProperty);
NSLog
(@
"第一次添加该条记录的时间%@\n"
,firstknow);
//最后一次修改該条记录的时间
NSString
*lastknow = (
NSString
*)ABRecordCopyValue(person, kABPersonModificationDateProperty);
NSLog
(@
"最后一次修改該条记录的时间%@\n"
,lastknow);
//获取email多值
ABMultiValueRef email = ABRecordCopyValue(person, kABPersonEmailProperty);
int
emailcount = ABMultiValueGetCount(email);
for
(
int
x = 0; x < emailcount; x++)
{
//获取email Label
NSString
* emailLabel = (
NSString
*)ABAddressBookCopyLocalizedLabel(ABMultiValueCopyLabelAtIndex(email, x));
//获取email值
NSString
* emailContent = (
NSString
*)ABMultiValueCopyValueAtIndex(email, x);
textView.text = [textView.text stringByAppendingFormat:@
"%@:%@\n"
,emailLabel,emailContent];
}
//读取地址多值
ABMultiValueRef address = ABRecordCopyValue(person, kABPersonAddressProperty);
int
count = ABMultiValueGetCount(address);
for
(
int
j = 0; j < count; j++)
{
//获取地址Label
NSString
* addressLabel = (
NSString
*)ABMultiValueCopyLabelAtIndex(address, j);
textView.text = [textView.text stringByAppendingFormat:@
"%@\n"
,addressLabel];
//获取該label下的地址6属性
NSDictionary
* personaddress =(
NSDictionary
*) ABMultiValueCopyValueAtIndex(address, j);
NSString
* country = [personaddress valueForKey:(
NSString
*)kABPersonAddressCountryKey];
if
(country !=
nil
)
textView.text = [textView.text stringByAppendingFormat:@
"国家:%@\n"
,country];
NSString
* city = [personaddress valueForKey:(
NSString
*)kABPersonAddressCityKey];
if
(city !=
nil
)
textView.text = [textView.text stringByAppendingFormat:@
"城市:%@\n"
,city];
NSString
* state = [personaddress valueForKey:(
NSString
*)kABPersonAddressStateKey];
if
(state !=
nil
)
textView.text = [textView.text stringByAppendingFormat:@
"省:%@\n"
,state];
NSString
* street = [personaddress valueForKey:(
NSString
*)kABPersonAddressStreetKey];
if
(street !=
nil
)
textView.text = [textView.text stringByAppendingFormat:@
"街道:%@\n"
,street];
NSString
* zip = [personaddress valueForKey:(
NSString
*)kABPersonAddressZIPKey];
if
(zip !=
nil
)
textView.text = [textView.text stringByAppendingFormat:@
"邮编:%@\n"
,zip];
NSString
* coutntrycode = [personaddress valueForKey:(
NSString
*)kABPersonAddressCountryCodeKey];
if
(coutntrycode !=
nil
)
textView.text = [textView.text stringByAppendingFormat:@
"国家编号:%@\n"
,coutntrycode];
}
//获取dates多值
ABMultiValueRef dates = ABRecordCopyValue(person, kABPersonDateProperty);
int
datescount = ABMultiValueGetCount(dates);
for
(
int
y = 0; y < datescount; y++)
{
//获取dates Label
NSString
* datesLabel = (
NSString
*)ABAddressBookCopyLocalizedLabel(ABMultiValueCopyLabelAtIndex(dates, y));
//获取dates值
NSString
* datesContent = (
NSString
*)ABMultiValueCopyValueAtIndex(dates, y);
textView.text = [textView.text stringByAppendingFormat:@
"%@:%@\n"
,datesLabel,datesContent];
}
//获取kind值
CFNumberRef recordType = ABRecordCopyValue(person, kABPersonKindProperty);
if
(recordType == kABPersonKindOrganization) {
// it's a company
NSLog
(@
"it's a company\n"
);
}
else
{
// it's a person, resource, or room
NSLog
(@
"it's a person, resource, or room\n"
);
}
//获取IM多值
ABMultiValueRef instantMessage = ABRecordCopyValue(person, kABPersonInstantMessageProperty);
for
(
int
l = 1; l < ABMultiValueGetCount(instantMessage); l++)
{
//获取IM Label
NSString
* instantMessageLabel = (
NSString
*)ABMultiValueCopyLabelAtIndex(instantMessage, l);
textView.text = [textView.text stringByAppendingFormat:@
"%@\n"
,instantMessageLabel];
//获取該label下的2属性
NSDictionary
* instantMessageContent =(
NSDictionary
*) ABMultiValueCopyValueAtIndex(instantMessage, l);
NSString
* username = [instantMessageContent valueForKey:(
NSString
*)kABPersonInstantMessageUsernameKey];
if
(username !=
nil
)
textView.text = [textView.text stringByAppendingFormat:@
"username:%@\n"
,username];
NSString
* service = [instantMessageContent valueForKey:(
NSString
*)kABPersonInstantMessageServiceKey];
if
(service !=
nil
)
textView.text = [textView.text stringByAppendingFormat:@
"service:%@\n"
,service];
}
//读取电话多值
ABMultiValueRef phone = ABRecordCopyValue(person, kABPersonPhoneProperty);
for
(
int
k = 0; k<ABMultiValueGetCount(phone); k++)
{
//获取电话Label
NSString
* personPhoneLabel = (
NSString
*)ABAddressBookCopyLocalizedLabel(ABMultiValueCopyLabelAtIndex(phone, k));
//获取該Label下的电话值
NSString
* personPhone = (
NSString
*)ABMultiValueCopyValueAtIndex(phone, k);
textView.text = [textView.text stringByAppendingFormat:@
"%@:%@\n"
,personPhoneLabel,personPhone];
}
//获取URL多值
ABMultiValueRef url = ABRecordCopyValue(person, kABPersonURLProperty);
for
(
int
m = 0; m < ABMultiValueGetCount(url); m++)
{
//获取电话Label
NSString
* urlLabel = (
NSString
*)ABAddressBookCopyLocalizedLabel(ABMultiValueCopyLabelAtIndex(url, m));
//获取該Label下的电话值
NSString
* urlContent = (
NSString
*)ABMultiValueCopyValueAtIndex(url,m);
textView.text = [textView.text stringByAppendingFormat:@
"%@:%@\n"
,urlLabel,urlContent];
}
//读取照片
NSData
*image = (
NSData
*)ABPersonCopyImageData(person);
UIImageView *myImage = [[UIImageView alloc] initWithFrame:CGRectMake(200, 0, 50, 50)];
[myImage setImage:[UIImage imageWithData:image]];
myImage.opaque =
YES
;
[textView addSubview:myImage];
}
CFRelease(results);
CFRelease(addressBook);
|
本文转自夏雪冬日博客园博客,原文链接:http://www.cnblogs.com/heyonggang/p/3472867.html,如需转载请自行联系原作者
微信关注我们
转载内容版权归作者及来源网站所有!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。
Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。
Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。
WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。