当我在.h文件中定义我的块时,出现了一个问题:
未知类型名称
NSString
我的代码如下:
typedef void(^CancelBlock)();
typedef void(^ConfirmBlck)(NSString *); // this line comes the error
#import <UIKit/UIKit.h>
@interface LMLUpspringView : UIView
@property (nonatomic, copy) CancelBlock cancelBlock;
@property (nonatomic, copy) ConfirmBlck confirmBlock;
@end
但是,为什么我的第一个块正常,第二个报告出错?
答案 0 :(得分:3)
您在#import <UIKit/UIKit.h>
(在.h文件中)上方定义了块,因此没有导入NSString,您应该在块定义之上切割#import <UIKit/UIKit.h>
。
答案 1 :(得分:1)
你需要声明阻止如下
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
typedef void(^ConfirmBlck)(NSString * string);
答案 2 :(得分:0)
在xcode的最新版本中,您只需指定
即可#import <Foundation/NSString.h>
可以根据需要导入任何NS Foundation类。
答案 3 :(得分:-1)
位置声明uikit导入然后按照:
// declare
@property(nonatomic,strong)void(^ConfirmBlck)(NSString * string);
// define
[self setConfirmBlck:^(NSString *indexpVal) { }];
// call
if (self.ConfirmBlck) {
self.ConfirmBlck(selectedVal);
}