我有一个UIView(名为HCTextFieldView)子视图:UITextField及UILabel以上.
UITextField's代表等于自我.委派方法textFieldDidBeginEditing并textFieldDidEndEditing执行文本字段的背景突出显示效果.
接下来UIView我在我的使用这个自定义(HCTextFieldView)UIViewController.要处理工具栏中的"下一步"和"上一页"按钮的操作(附在文本字段的键盘上方),我需要相同的文本字段的委托方法UIViewController,但代表被覆盖了.
**@interface HCBaseTextField : UIView <UITextFieldDelegate>**
...
@end
**@implementation HCBaseTextField {}**
...
textField = [[UITextField alloc] initWithFrame:CGRectMake(0, titleLabel.bottom, self.width - 20, self.height - titleLabel.height)];
**textField.delegate = self**;
...
#pragma mark - UITextField delegate
//textFieldBG - UIImageView that act as background
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
[textFieldBg setImage:[[UIImage imageWithName:@"btn_vvod_medium_act"] stretchableImageWithLeftCapWidth:10 topCapHeight:10]];
return YES;
}
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField {
[textFieldBg setImage:[[UIImage imageWithName:@"btn_vvod_medium_norm"] …Run Code Online (Sandbox Code Playgroud) 我有一系列类别。每个类别实例都有优惠属性。
class Category {
var offers : [Offer]?
var title : String?
var id : Int?
}
class Offer {
var type : String?
}
//global variable
var categories = [ categ1, categ2, ...]
Run Code Online (Sandbox Code Playgroud)
如何按 Offer.type 过滤类别?
我已经尝试过:
return categories.map { (category) -> Category in
let offers = category.offers?.filter { $0.type == myType }
category.offers = offers
return category
}
Run Code Online (Sandbox Code Playgroud)
它有效,但第二次调用函数后数组变空。可能是因为报价被重写了?
然后我尝试了这个(产生了相同的错误结果):
var resultCategories = [Category]()
for category in categories {
guard let offers = category.offers else { continue } …Run Code Online (Sandbox Code Playgroud)