我想写一个常用的方法,我可以在项目的所有类中使用它。
此方法将接受字符串和整数。然后根据提供的整数检查该字符串的长度。
#import "NSObject+CountRRR.h"
@implementation NSObject (CountRRR)
-(BOOL)lengthOfName:(NSString *) sentence: (NSInteger *) number {
return [sentence length]==number;
}
@end
上述方法是否正确?
如何从ViewController
。
#import "MyViewController.h"
#import "NSObject+CountRRR.h"
@interface MyViewController ()
@end
@implementation MyViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
NSString * name =@"Hi my name is James";
// HOW TO CALL THE ABOVE METHOD HERE. ??????
}
答案 0 :(得分:1)
我相信它只会是
BOOL myBool = [name lengthOfName:name sentence:12];
但是你不应该(NSInteger *)它应该是(NSInteger)。也可能更好地使它成为一种类方法。
+(BOOL)lengthOfName:(NSString *) sentence: (NSInteger *) number;
然后至少你可以做到
BOOL myBool = [NSObject lengthOfName:name sentence:12];
更好的是,不要为NSObject创建一个类别。而是为UITextField或NSString创建一个。这不是你想要的所有NSObject,它只是用于检查UITextField的字符串长度。
希望这有帮助。
修改
最初也没有注意到这一点,但您的方法名称没有正确格式化以便开始。
尝试
-(BOOL)lengthOfName:(NSString *)sentence withNumber:(NSInteger)number
然后你的方法调用就像......
BOOL myBool = [NSObject lengthOfName:name withNumber:12];