gpt4 book ai didi

ios - 无法将对象添加到 NSMutableSet(错误 : no visible interface)

转载 作者:行者123 更新时间:2023-11-29 03:37:38 24 4
gpt4 key购买 nike

我在 iPad 应用程序上使用 XCode 5 和 iOS 7。我正在尝试保存用户选择的行索引。在 -didSelectRowAtIndexPath 中,我使用以下代码来标记行:

//  initialize singleton
SingletonSelectedCellIndexes *selectedCellIndexes = [SingletonSelectedCellIndexes sharedSelectedCellIndexes]; // initialize

// get the cell that was selected
UITableViewCell *theCell = [tableView cellForRowAtIndexPath:indexPath];

if ([[tableView cellForRowAtIndexPath:indexPath] accessoryType] == UITableViewCellAccessoryCheckmark) {
[(NSMutableSet *)selectedCellIndexes addObject:indexPath];
}

为什么我在向单例添加对象时遇到此错误?:

No visible @interface for 'SingletonSelectedCellIndexes' declares the selector 'addObject:'

这是定义单例(NSMutableSet)的代码:

//++++++++++++++++++++++++++++++++++++++++++++++++++++
//-- SingletonSelectedCellIndexes
@implementation SingletonSelectedCellIndexes {

}

@synthesize selectedCellIndexes; // rename

// sharedSelectedCellIndexes
+ (id)sharedSelectedCellIndexes {

static dispatch_once_t dispatchOncePredicate = 0;
__strong static id _sharedObject = nil;
dispatch_once(&dispatchOncePredicate, ^{
_sharedObject = [[self alloc] init];
});

return _sharedObject;
}

-(id) init {
self = [super init];
if (self) {
selectedCellIndexes = [[NSMutableSet alloc] init];
}
return self;
}

@end

更新 - 这是 .h 文件:

//--  singleton: selectedCellIndexes
@interface SingletonSelectedCellIndexes : NSObject {
}
@property (nonatomic, retain) NSMutableSet *selectedCellIndexes;

+ (id)sharedSelectedCellIndexes;
@end

最佳答案

您需要先显示 SingletonSelectedCellIndexes 类的 .h 文件,然后我们才能回答这个问题。

虽然你的 .m 文件没有显示 addObject 方法,所以我打赌你的 .h 文件也没有。

如果要调用类上的方法,则需要声明并实现该方法。

关于ios - 无法将对象添加到 NSMutableSet(错误 : no visible interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18938003/

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