我试图在Swift应用程序中导入/使用this项目,但编译器抛出大量错误,并显示以下消息:
选择器“indexPathForRow:inSection:”没有已知的类方法
以下是产生上述错误的典型代码:
if ([self tileForIndexPath:[NSIndexPath indexPathForRow:row inSection:i]].empty) {
...
}
不过,我可以将下载的项目作为一个独立的应用程序运行,而不会有任何问题。
我还将所有的框架都添加到了我的主应用程序中——这些框架已经被使用并安装到了所说的项目中,但这没有帮助。我的主要项目的部署目标是10.0。
最佳答案
indexPathForRow:inSection:
是创建NSIndexPath实例的静态构造函数方法。它在UIKit中定义:
https://developer.apple.com/documentation/foundation/nsindexpath/1614934-indexpathforrow?language=objc
在此项目中,作者将UIKit导入到pch文件中:
https://github.com/austinzheng/iOS-2048/blob/7c0840a0f7bd77b01d6a36778a253f8f4b2e6529/NumberTileGame/NumberTileGame/NumberTileGame-Prefix.pch#L14
因此,您有两个选项:要么在项目中为Objective-C代码设置一个pch文件(创建该文件并添加到Xcode项目生成设置),要么在每个出现此错误的源文件中添加#import <UIKit/UIKit.h>
。