初步的答案是:
因为UIKit.h里引用了UITableView.h,而UITableView.h里有一个NSIndexPath的Category声明:
@interface NSIndexPath (UITableView)
+ (NSIndexPath *)indexPathForRow:(NSInteger)row inSection:(NSInteger)section;
@property(nonatomic,readonly) NSInteger section;
@property(nonatomic,readonly) NSInteger row;
@end
但为什么要这样搞咧?