Tag: callback

从CMBlockBuffer中提取h264

我正在使用Apple VideoTool Box(iOS)压缩设备相机捕获的原始帧。 我的callback被包含CMBlockBuffer的CMSampleBufferRef对象调用。 CMBlockBuffer对象包含H264基本stream,但是我没有find任何方法来获得指向基本stream的指针。 当我打印到控制台的CMSampleBufferRef对象时,我得到: (lldb) po blockBufferRef CMBlockBuffer 0x1701193e0 totalDataLength: 4264 retainCount: 1 allocator: 0x1957c2c80 subBlockCapacity: 2 [0] 4264 bytes @ offset 128 Buffer Reference: CMBlockBuffer 0x170119350 totalDataLength: 4632 retainCount: 1 allocator: 0x1957c2c80 subBlockCapacity: 2 [0] 4632 bytes @ offset 0 Memory Block 0x10295c000, 4632 bytes (custom V=0 A=0x0 F=0x18498bb44 R=0x0) 看来,我设法得到指针的CMBlockBuffer对象包含另一个CMBlockBuferRef(4632字节),这是不可访问的。 任何人都可以发布如何访问H264 […]

Objective-Ccallback处理程序

我有一个callback方法,我开始工作,但我想知道如何传递值。 我有什么是这样的: @interface DataAccessor : NSObject { void (^_completionHandler)(Account *someParameter); } – (void) signInAccount:(void(^)(Account *))handler; 上面的代码工作,但我想传递值的方法。 这看起来如何? 就像是: – (void) signInAccount:(void(^)(Account *))handler user:(NSString *) userName pass:(NSString *) passWord; ?

委托函数与callback函数

我在iOS平台上工作,我想知道什么是委托函数,什么是callback函数? 这两种函数有什么区别或者它们是相同的? 委托函数的numberOfRowsInSection是UITableViewDelegate协议中的numberOfRowsInSection ,callback函数的示例是didReceiveLocalNotification中的appDelegate.m 我们可以在Objective-C中创build自己的callback函数,如果是,举个例子… 谢谢..

从一个ViewController发送数据到另一个。

我有两个ViewController: 1) ViewController 2) TestAppViewController 在ViewController.h ,我定义了一个标签,我想从第二个viewController发送文本,即TestAppViewController。 为此,我在ViewController.h中定义了@property NSString * ,并在第二个Controller中创build了这个ViewController的一个对象。 然后传递一个值给这个属性,但ans仍然是零。 以下是我的代码: @property (nonatomic, retain) NSString *lableName;* 视图控制器 #import "ViewController.h #import "TestAppView1.h" #import "TestAppViewController2.h" @interface ViewController () @end @implementation ViewController – (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. // [self addView1]; } – (void)viewWillAppear:(BOOL)animated […]

用于CFunctionPointer的Objective-C包装到Swift Closure

我在玩Swift,注意到Swift不允许创buildCFFunctionPointers。 它只能通过和参考现有的。 例如CoreAudio需要CFunctionPointer来确定callback,因此我不能使用纯Swift。 所以我需要使用一些Objective-C的蹦床或包装,这需要一个Swift Closure作为参数,以及原始的callback原型,然后可以被指定为callback,但实际的行动发生在Swift而不是Objective-C 。 我该怎么做呢? 这样的包装的一些示例代码将帮助我了解如何从目标C中使用Swift代码用于这种目的以灵活的方式解决Swift无法创buildCFunctionPointers。 是的,我知道我只需要在Objective-C中写需要的东西。 我想在纯Swift中做一个学习练习,将我的一个应用程序移植到Swift(使用大量的CoreAudio / CoreVideo框架)。

使用Swift的C API

我试图跟踪networking状态。 我经历了FXReachability的代码。 具体如下的方法。 – (void)setHost:(NSString *)host { if (host != _host) { if (_reachability) { SCNetworkReachabilityUnscheduleFromRunLoop(_reachability, CFRunLoopGetMain(), kCFRunLoopCommonModes); CFRelease(_reachability); } _host = [host copy]; _status = FXReachabilityStatusUnknown; _reachability = SCNetworkReachabilityCreateWithName(kCFAllocatorDefault, [_host UTF8String]); SCNetworkReachabilityContext context = { 0, ( __bridge void *)self, NULL, NULL, NULL }; SCNetworkReachabilitySetCallback(_reachability, ONEReachabilityCallback, &context); SCNetworkReachabilityScheduleWithRunLoop(_reachability, CFRunLoopGetMain(), kCFRunLoopCommonModes); } } 它所做的是不断检查到指定主机的连接。 我试图将此方法转换为Swift,并遇到一些问题。 […]

实现一个块作为callback使用的方法

我想写一个类似这样的方法: +(void)myMethodWithView:(UIView *)exampleView completion:(void (^)(BOOL finished))completion; 我已经基本上从苹果的UIView的类方法剥离的语法: + (void)animateWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion; 并期望它被使用像这样: [myFoo myMethodWithView:self.view completion:^(BOOL finished){ NSLog(@"call back success"); }]; 我的问题是我怎样才能实现呢? 如果有人能指出我的正确的文档,那将是非常好的,一个非常基本的例子将不胜感激(或堆栈溢出类似的答案 – 我找不到一个)。 对代表们来说,我还不是很了解,以确定这是否是正确的做法! 我已经把我期望它在实现文件中的一个粗略的例子,但是因为我不能find信息这是猜测工作。 + (void)myMethod:(UIView *)exampleView completion:(void (^)(BOOL finished))completion { // do stuff if (completion) { // what sort of syntax goes here? If I've constructed this […]