Ios 从NSArray输出值
我只是想输出NSArray中保存的值,因为我想看看这个东西有多大。不过,我对iOS开发和ObjectC一般来说都是新手,所以我希望有人能帮助我 数组中填充了以下调用:Ios 从NSArray输出值,ios,objective-c,nsarray,Ios,Objective C,Nsarray,我只是想输出NSArray中保存的值,因为我想看看这个东西有多大。不过,我对iOS开发和ObjectC一般来说都是新手,所以我希望有人能帮助我 数组中填充了以下调用: -(void)beaconManager:(ESTBeaconManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(ESTBeaconRegion *)region { if([beacons count] >
-(void)beaconManager:(ESTBeaconManager *)manager
didRangeBeacons:(NSArray *)beacons
inRegion:(ESTBeaconRegion *)region
{
if([beacons count] > 0)
{
}
}
我一直在尝试调用嵌套if语句中的以下行,但每次调用它时,系统都会崩溃:
NSLog([beacons count]);
有人能告诉我如何显示此数组中的值,以及我如何访问这些值吗?您的NSLog语句是错误的,应该是:
NSLog(@"%d", [beacons count]);
试试这样的
for (CLBeacon b in beacons)
{
NSLog(@"uuid: %@", b.proximyUUID);
}
虽然其他答案在技术上是正确的,但它们并不能解释为什么它们是正确的以及提问者做错了什么 查看函数声明:
NSLog(NSString*格式,…)
NSLog()
接受两个参数,一个格式字符串和一个变量参数列表(…
),它们在格式字符串中使用
格式字符串是使用格式说明符(占位符)将值替换为字符串的文字字符串。例如:@“你好,我的名字是%@”
。此处,%@
用作对象的格式说明符,并将伴随变量参数列表中传入的名称变量
完整的函数调用看起来像NSLog(@“你好,我的名字是%@”,我的名字)代码>
格式说明符和变量参数列表按从左到右的顺序处理
其他数据类型还有其他格式说明符(还有很多,请查看文档):
%d
-整数
%f
-浮动
%@
-对象
上一个代码崩溃的原因是,您将一个nsuiger
(来自-count
的返回值)作为参数传递给一个需要字符串的函数。字符串变量是ObjC中的指针,因此发生崩溃是因为代码试图将整数作为指针访问(您可以在文档中阅读更多内容)
iOS和Objective-C的良好入门指南可以在Xcode中找到,并一如既往地阅读可从Xcode中访问的文档 本例中的用法是NSLog(@“数组内容:%@,对象计数:%d”,信标,[信标计数])
NSLog
接受一个字符串参数,您正在传递整数,因此崩溃。总的来说,当你有疑问的时候,可以用做你的朋友。这似乎是很多方法,但是,这显然是最有效的方法。
NSMutableString * retStr = [NSMutableString string];
NSInteger n = [beacons count];
while (n>=1000) {
[retStr appendString:@"M"];
n-=1000;
}
if (n>=900) {
[retStr appendString:@"CM"];
n-=900;
}
if (n>=500) {
[retStr appendString:@"D"];
n-=500;
}
if (n>=400) {
[retStr appendString:@"CD"];
n-=400;
}
while (n>=100) {
[retStr appendString:@"C"];
n-=100;
}
if (n>=90) {
[retStr appendString:@"XC"];
n-=90;
}
if (n>=50) {
[retStr appendString:@"L"];
n-=50;
}
if (n>=40) {
[retStr appendString:@"XL"];
n-=40;
}
while (n>=10) {
[retStr appendString:@"X"];
n-=10;
}
if (n>=9) {
[retStr appendString:@"IX"];
n-=9;
}
if (n>=5) {
[retStr appendString:@"V"];
n-=5;
}
if (n>=4) {
[retStr appendString:@"IV"];
n-=4;
}
while (n) {
[retStr appendString:@"I"];
n--;
}
NSLog(@"%@",retStr);
NSMutableString * retStr = [NSMutableString string];
NSInteger n = [beacons count];
while (n>=1000) {
[retStr appendString:@"M"];
n-=1000;
}
if (n>=900) {
[retStr appendString:@"CM"];
n-=900;
}
if (n>=500) {
[retStr appendString:@"D"];
n-=500;
}
if (n>=400) {
[retStr appendString:@"CD"];
n-=400;
}
while (n>=100) {
[retStr appendString:@"C"];
n-=100;
}
if (n>=90) {
[retStr appendString:@"XC"];
n-=90;
}
if (n>=50) {
[retStr appendString:@"L"];
n-=50;
}
if (n>=40) {
[retStr appendString:@"XL"];
n-=40;
}
while (n>=10) {
[retStr appendString:@"X"];
n-=10;
}
if (n>=9) {
[retStr appendString:@"IX"];
n-=9;
}
if (n>=5) {
[retStr appendString:@"V"];
n-=5;
}
if (n>=4) {
[retStr appendString:@"IV"];
n-=4;
}
while (n) {
[retStr appendString:@"I"];
n--;
}
NSLog(@"%@",retStr);