TextField输入的最大文本从自定义类验证

时间:2015-03-01 05:48:39

标签: ios objective-c

我想写一个常用的方法,我可以在项目的所有类中使用它。

此方法将接受字符串和整数。然后根据提供的整数检查该字符串的长度。

#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. ??????
}

1 个答案:

答案 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];