小编Jus*_*ers的帖子

使用NSMutableArray推送/弹出的ReactiveCocoa示例?

有人可以提供使用ReactiveCocoa抽象的单行示例来实现这样的事情:

// pseudo-code
NSMutableArray *array = @[[] mutableCopy];
RACSignal *newValue = RACAbleWithStart(array); // get whole array or maybe just added/removed element on push/pop

[newValue subscribeNext:^(NSArray *x) {
  // x is whole array
}]

[newValue subscribeNext:^(id x) {
  // x is new value
}]

[newValue subscribeNext:^(id x) {
  // x is removed value
}]
Run Code Online (Sandbox Code Playgroud)

我看到NSArray的一些扩展被删除,有利于Mantle https://github.com/ReactiveCocoa/ReactiveCocoa/pull/130但是仍然找不到NSArray操作的简单示例.

reactive-cocoa

17
推荐指数
1
解决办法
5827
查看次数

Reactive Cocoa - 将某些信号值转换为错误或已完成

也许我仍然在反应性学习曲线上挣扎,但我很难弄清楚如何将非反应类与其他反应代码联系起来.我正在使用一个类别来扩展非反应类.

该属性只是一个Enum,表示网络操作的当前状态,如New,Submitted,Processing和Completed.现在我在我的类别中写了以下方法:

@implementation JRequestBase (RACExtensions)
- (RACSignal*) rac_RequestStateSignal
{
    return  RACAble(self, state);
}
@end
Run Code Online (Sandbox Code Playgroud)

但是,当状态从Processing - > Completed或从任何状态转换为Errored时,我希望此信号发送Completed或Error而不是Next Value.我怎样才能在一个类别中实现这一目标?我想做的事情如下:

@implementation JRequestBase (RACExtensions)
- (RACSignal*) rac_RequestStateSignal
{
    return  [RACAble(self, state) map:^(NSNumber *state){
                 if ([state intValue] == iRequestStateComplete)
                 {    
                     # SEND COMPLETE
                 }
                 else if ([state intValue] == iRequestStateErrored)
                 { 
                     # SEND ERROR
                 }
                 else
                 { 
                     return state;
                 }
            }];
}
@end
Run Code Online (Sandbox Code Playgroud)

编辑:我看了一下GHAPIDemo并提出了以下建议:

- (RACSignal*) rac_RequestSignal
{
    RACSubject *subject = [[RACReplaySubject alloc] init];
    [[RACAble(self, state) subscribeNext:^(NSNumber* s){
        if ( [s intValue] == …
Run Code Online (Sandbox Code Playgroud)

objective-c reactive-cocoa

8
推荐指数
1
解决办法
3023
查看次数

使用NSPredicate和一组答案

我有一组包含personID的字符串,我有一个NSFetchedResults的人员managedObjects具有唯一的strPersonIDs.我试图创建一个NSPredicate但它失败了.任何有关这方面的帮助将不胜感激.我对NSPredicate有点新意,所以请善待.

NSSet *zipSet = [NSSet setWithSet:[self getziplist:searchText]];
searchString = [NSString stringWithFormat:@"(strPersonID IN %@)",zipSet];
NSPredicate *searchPersonPredicate = [NSPredicate predicateWithFormat:searchString];
Run Code Online (Sandbox Code Playgroud)

运行时错误消息是:由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'无法解析格式字符串"(strPersonID IN {(300040,300082,412218)})"'

cocoa runtime-error nsset nspredicate

6
推荐指数
1
解决办法
2309
查看次数

- [NSDate timeIntervalSinceDate:]在GCC 4.2上返回非常小的数字,但在iOS4.3模拟器上的LLVM-GCC 4.2上按预期工作

在iOS 4.3 Simulator上,以下代码返回一个非常小的数字:1e-700在GCC 4.2上,但在LLVM-GCC 4.2上按预期工作.有任何想法吗?

NSDate *selectedDate = self.datepicker.date; // guaranteed to be before now
NSTimeInterval interval = [nowDate timeIntervalSinceDate:selectedDate];
Run Code Online (Sandbox Code Playgroud)

这些值随每次运行而变化,但这是一组示例输出

selectedDate: 1981-06-02 16:27:34 +0000

nowDate: 2011-08-03 05:18:36 +0000

间隔: 5.489011535689859e-277

[nowDate timeIntervalSinceDate:selectedDate]在GDB中运行:( 952001462.97236204这是我的期望值)

gcc objective-c llvm llvm-gcc

5
推荐指数
1
解决办法
1130
查看次数

如何将c声明翻译成delphi?

typedef void (*funcNetworkEventReceived)(int, unsigned int, int);

谢谢.

c delphi

3
推荐指数
1
解决办法
171
查看次数