
[@"a123456789012345678901234567890a" isLike:@"*ab"]
жрет 100% cpu и, похоже, уходит в бесконечный цикл.
[@"a123456789012345678901234567890a" isLike:@"*ab"]
жрет 100% cpu и, похоже, уходит в бесконечный цикл.
tfw выдают пафосные фразы вроде
If a programming language does not have a URI module in its standard library, run, don't walk, to a real language that does.
когда API, чтобы поменять/выставить параметр в запросе без секса со строками доступно только в iOS 8/OSX 10.10.
var x: Int?? = 42
x // {{Some 42}}
x != nil // false
x!=nil // nil
x // {nil}
т.е. x!=nil парсится как (x!) = nil
Андрюха (наш глав-QA), похоже, born to be tester. Много лет назад он зарегался как Andrew во внутреннем жаббере.
А сегодня это привело к багу в йопловском Messages: пишу сообщение andrew, а ответ приходит от Andrew -- в другой вкладке.
Запилил в текущий проект промисы. Для сравнения, до:
-(void) p_pluckHamsSinceLastPluckWithCompletion:(BarPluckHamsCompletion) completion
{
NSDate * date = [NSUserDefaults standardUserDefaults].lastPluckDate;
XXXHamPlucker plucker = ^(XXXPluckSession * session, XXXFoo *foo, XXXPluckConsumer consumer) {
[session searchBoosSinceDate:date withFoo:foo completion:^(NSError *error, NSIndexSet * boos) {
if (error)
return consumer(error, nil);
[Bar filterBoos:boos withFoo:foo completion:^(NSIndexSet *boos) {
[session pluckHamsWithBoos:boos withFoo:foo completion:^(NSError * error, NSArray * hams) {
if (error)
return consumer(error, nil);
[Bar filterHams:hams withFoo:foo completion:^(NSArray *hams) {
consumer(nil, hams);
}];
}];
}];
}];
};
[self p_pluckHamsUsingPlucker:plucker completionHandler:completion];
}
После
-(XXXPromise *) p_pluckHamsSinceLastPluck {
NSDate * date = [NSUserDefaults standardUserDefaults].lastPluckDate;
XXXHamPlucker plucker = ^(XXXPluckSession * session, XXXFoo * foo) {
XXXPromise * promise = [session searchBoosSinceDate:date withFoo:foo];
return promise.thenPromise(^(NSIndexSet * boos){
return [Bar filterBoos:boos withFoo:foo];
}).thenPromise(^(NSIndexSet * boos){
return [session pluckHamsWithBoos:boos withFoo:foo];
}).thenPromise(^(NSArray * hams) {
return [Bar filterHams:hams withFoo:foo];
});
};
return [self p_pluckHamsUsing:plucker];
}
Промисы свои, написал часа за 3-4. Смотрел RXPromise и PromiseKit, но они не умеют то, что мне нужно.