我是Xcode&的新手目标C.我正在尝试创建和使用自己的课程。
//NSObject+Bridge.h
@interface NSObject (Bridge)
- (void)modify_coredata:(NSString *)table rows:(NSString *)rows;
@end
// NSObject+Bridge.m
#import "NSObject+Bridge.h"
@implementation NSObject (Bridge)
- (void)modify_coredata:(NSString *)table rows:(NSString *)rows {
NSLog(@"table: %@", table);
NSLog(@"rows : %@", rows);
}
在我的ViewController.m
文件中,我在文件顶部附近有#import "NSObject+Bridge.h"
。
在viewDidLoad
的{{1}}方法中,我尝试了这两行代码。它们都因此错误而失败:ViewController.m
。
Use of undeclared identifier 'Bridge'
我做错了什么?
答案 0 :(得分:2)
您没有声明名为Bridge
的类。您所做的就是在名为NSObject
的{{1}}上创建一个类别。两个完全不同且无关的东西。
名为Bridge
的类将位于名为Bridge
和Bridge.h
的文件中,并声明为:
Bridge.m
也许你想要:
Bridge.h
@interface Bridge : NSObject
Bridge.m
@interface Bridge : NSObject
- (void)modify_coredata:(NSString *)table rows:(NSString *)rows;
@end
BTW - 方法的典型命名约定意味着您的方法应该真正命名:
#import "Bridge.h"
@implementation Bridge
- (void)modify_coredata:(NSString *)table rows:(NSString *)rows {
NSLog(@"table: %@", table);
NSLog(@"rows : %@", rows);
}
请注意使用驼峰案例而不是使用下划线。
答案 1 :(得分:0)
您已宣布category。因此,您可以直接使用category
方法对现有类进行初始化。