11
#define PROPERTY_SECTION 0
#define SUBTOTAL_ROW 0

UITableViewCell *subtotalCell = [self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForItem:SUBTOTAL_ROW inSection:PROPERTY_SECTION]];

iOS 6 でデバッグすると問題なく動作しますが、iOS 5 では次の理由でアプリがクラッシュしました」

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[NSIndexPath indexPathForItem:inSection:]: unrecognized selector sent to class 0x1d41f20'
*** First throw call stack:
(0x26b4022 0x2083cd6 0x26b5aad 0x261aed0 0x261acb2 0xc956a 0xc9d4a 0xca3e9 0x12af38f 0x12af5eb 0x12bdb2b 0x12af38f 0x12af5eb 0x12b04ed 0x121da0c 0x26b5e99 0x121e464 0x121e495 0x1222fc1 0x121d14b 0x16864ce 0x162bd61 0x16114d0 0x12ae5ab 0x4ab35 0x14ade29 0x14ad133 0x14ae3bf 0x14b0a21 0x14b097c 0x14a93d7 0x268899e 0x261f640 0x25eb4c6 0x25ead84 0x25eac9b 0x2d167d8 0x2d1688a 0x11e6626 0x248d 0x23b5)
terminate called throwing an exception(lldb) 
4

3 に答える 3

47

+ (NSIndexPath *)indexPathForItem:(NSInteger)item inSection:(NSInteger)section;iOS 6でのみ機能するメソッドUICollectionViewです。iOS 5 の UITableView では使用できません。

あなたはおそらく探しているindexPathForRow:inSection:

于 2012-09-14T03:16:03.813 に答える
8

使用する

[NSIndexPath indexPathForRow:indexRow inSection:indexSection];

それ以外の

[NSIndexPath indexPathForItem:indexRow inSection:indexSection];

于 2012-11-09T06:16:03.880 に答える
4

ここにある iOS5 のドキュメントには存在しないため、iOS6 で追加されたメソッドである必要があります。

https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSIndexPath_Class/Reference/Reference.html

編集: このメソッドは、UITableView ではなく、コレクション ビュー専用です。コレクション ビューは iOS 5 ではサポートされていません

于 2012-09-14T02:31:56.107 に答える