gpt4 book ai didi

iPhone "count"挫折?

转载 作者:可可西里 更新时间:2023-11-01 06:19:56 26 4
gpt4 key购买 nike

好吧,我知道我一定遗漏了一些明显的东西。这是示例代码(当在 viewDidLoad block 中执行时,它会静静地崩溃......没有错误输出到调试控制台)。

NSMutableArray *bs = [NSMutableArray arrayWithCapacity:10];
[bs addObject:[NSNumber numberWithInteger: 2]];
NSLog(@"%@", [bs count]);
[bs release];

我错过了什么?

哦...如果有人想知道,这段代码只是我试图弄清楚为什么我无法获得 NSMutableArray 的计数,而该计数实际上在程序的其他地方很重要。

最佳答案

[mutableArray count] 返回一个 NSUInteger。在你的 NSLog 中,你指定了一个 %@,它需要一个 NSString。 Obj-C 不会自动将整数转换为字符串,因此您需要使用:

NSLog(@"%u", [bs count]); // Uses %u specifier which means unsigned int

深入了解如何使用字符串格式。这是一个链接:
http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/Strings/Articles/formatSpecifiers.html#//apple_ref/doc/uid/TP40004265-SW1

您还释放了一个已经自动释放的对象。根据经验,永远不要在对象上调用 release/autorelease,除非你自己也对其进行了 alloc/retain/copy。大多数时候,您从其他类方法获得的对象已经为您自动释放,因此您不应该再进行一次释放。

关于iPhone "count"挫折?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2917500/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com