我正在使用诺言库Bluebird,我目前遇到的问题是函数内的所有内容运行都很好,但是当我尝试返回一个值时,函数会返回undefined
.
这是承诺链:
function foo() {
createGroupMembers(parsedChat).then(function(val) {
var members = val;
createMessages(parsedChat, maxPages).then(function(val) {
var messages = val;
Promise.all([ createFrontCover(subject, firstdateOfMessages, lastDateOfMessages, isPreview), createStats(parsedChat), createBackCover(parsedChat)])
.then(function (results) {
var front = results[0];
var stats = results[1];
var backcover = results[2];
var book = head + front + stats + members + messages + backcover;
console.log('pages in this book: ', pages);
console.log(book); // logs perfect values.
return book;
});
});
});
}
Run Code Online (Sandbox Code Playgroud)
问题很简单:在调用时foo()
,它的价值变成undefined
了书而不是书.为什么我会遇到这种行为?
我正在研究如何获得单独心跳间隔的逐搏间隔.
我戴着Apple Watch,目前我可以出口
<Record type=“HKQuantityTypeIdentifierHeartRateVariabilitySDNN” sourceName=“Apple Watch” sourceVersion=“4.0” device=“<<HKDevice: 0x1c489da10>, name:Apple Watch, manufacturer:Apple, model:Watch, hardware:Watch3,4, software:4.0>” unit=“ms” creationDate=“2017-10-31 13:41:54 +0000" startDate=“2017-10-31 13:40:43 +0000” endDate=“2017-10-31 13:41:54 +0000" value=“92.7156”>
<HeartRateVariabilityMetadataList>
<InstantaneousBeatsPerMinute bpm=“69" time=“13:40:45.22”/>
<InstantaneousBeatsPerMinute bpm=“74" time=“13:40:46.02”/>
<InstantaneousBeatsPerMinute bpm=“71" time=“13:40:46.87”/>
<InstantaneousBeatsPerMinute bpm=“64" time=“13:40:47.81”/>
<InstantaneousBeatsPerMinute bpm=“54" time=“13:40:48.92”/>
<InstantaneousBeatsPerMinute bpm=“57" time=“13:40:49.97”/>
<InstantaneousBeatsPerMinute bpm=“65" time=“13:40:50.90”/>
<InstantaneousBeatsPerMinute bpm=“63" time=“13:40:51.86”/>
<InstantaneousBeatsPerMinute bpm=“60" time=“13:40:52.86”/>
<InstantaneousBeatsPerMinute bpm=“57" time=“13:40:53.92”/>
<InstantaneousBeatsPerMinute bpm=“57" time=“13:40:54.98”/>
<InstantaneousBeatsPerMinute bpm=“61" time=“13:40:55.97”/>
<InstantaneousBeatsPerMinute bpm=“70" time=“13:40:56.83”/>
<InstantaneousBeatsPerMinute bpm=“72" time=“13:40:57.66”/>
<InstantaneousBeatsPerMinute bpm=“69" time=“13:40:58.54”/>
<InstantaneousBeatsPerMinute bpm=“58" time=“13:40:59.58”/>
<InstantaneousBeatsPerMinute bpm=“58" time=“13:41:02.75”/>
<InstantaneousBeatsPerMinute …
Run Code Online (Sandbox Code Playgroud) 我正在创建一种自然语言形式,每当用户输入相当大的输入时,我希望整行都移动到下一行(就像一个UITextView
).现在,我得到了这个结果:
这表明存在两个明显的问题:一个:UITextField
正在推动的元素应该转到下一行,其次,当向后间隔时,被"推开"的元素不会被"推回"到位.此外,UITextField
退出时应该移动到下一行view.bounds
.是否最好使用a UITextField
或UITextView
for 是任意的.它应该适用于图2中的情况.
这是我想要实现的更具图形化的方法:
我该如何解决这个问题?这是正确的方法吗?
罗伯特的答案是非常好的,除了它仍然存在的一些错误之外还有一个问题,即它不灵活.我已经开始重构代码并尝试按照Robert的方法对a UITextField
和a 进行子类化UITextView
.
当继承代码,需要有一些代表团的UITextField
到UITextView
.其次,句子的每个部分都需要UITextField
在中间存在时进行分割,但我觉得这也可以硬编码到VC中.约束也需要转换为代码.
每当我得到所有这些问题中的任何一个的解决方案时,我都会更新问题并希望获得灵活的解决方案:)
我想检查一封信是否是表情符号.我发现了一些类似的问题并发现了这个正则表达式:
private final String emo_regex = "([\\u20a0-\\u32ff\\ud83c\\udc00-\\ud83d\\udeff\\udbb9\\udce5-\\udbb9\\udcee])";
Run Code Online (Sandbox Code Playgroud)
但是,当我在以下句子中执行以下操作时:
for (int k=0; k<letters.length;k++) {
if (letters[k].matches(emo_regex)) {
emoticon.add(letters[k]);
}
}
Run Code Online (Sandbox Code Playgroud)
它不会添加任何表情符号的任何字母.我也试过用a Matcher
和a Pattern
,但那也没用.正则表达式有什么问题,或者我在代码中遗漏了哪些东西?
这就是我收到这封信的方式:
sentence = "Jij staat op 10 "
String[] letters = sentence.split("");
Run Code Online (Sandbox Code Playgroud)
应该识别并添加最后一个 emoticon
我正在尝试获取过去一个月的所有心率样本,并从中提取时间和值。
到目前为止,我有以下方法:
func getThisMonthsHeartRates() {
print("func called")
let heartRateUnit:HKUnit = HKUnit(from: "count/min")
let heartRateType:HKQuantityType = HKQuantityType.quantityType(forIdentifier: .heartRate)!
//predicate
let startDate = Date()
let endDate = Date() - 1.month
let predicate = HKQuery.predicateForSamples(withStart: startDate, end: endDate, options: [])
//descriptor
let sortDescriptors = [
NSSortDescriptor(key: HKSampleSortIdentifierEndDate, ascending: false)
]
let heartRateQuery = HKSampleQuery(sampleType: heartRateType,
predicate: predicate,
limit: Int(HKObjectQueryNoLimit),
sortDescriptors: sortDescriptors)
{ (query:HKSampleQuery, results:[HKSample]?, error:Error?) -> Void in
guard error == nil else { print("error"); return }
print("results")
print(results!)
for result in results! …
Run Code Online (Sandbox Code Playgroud) 我想隐藏某个 VC 上的页面控制指示器,而是显示一个带有文本“开始”的按钮。然而,用户仍然能够导航回页面控件。
我试过这个:
self.pageController = [UIPageControl appearance];
self.pageController.pageIndicatorTintColor = [UIColor redColor];
self.pageController.currentPageIndicatorTintColor = [UIColor greenColor];
if(self.pageIndex == 1){
self.pageController.hidden = YES;
NSLog(@"hide you!");
}
Run Code Online (Sandbox Code Playgroud)
然而,这不起作用。不使用 if 语句的设置self.pageController.hidden = YES
也有效,并且也会触发 nslog。看来这只能设置一次。
我也不知道这会有多顺利。我显然不希望它在用户完全到达页面本身时发生变化,而是在向页面过渡时发生变化。
解决这个问题的最佳方法是什么?
cocoa-touch objective-c uipagecontrol ios uipageviewcontroller
我有一个UITextView
需要自动化的话.但是,当我调用这些方法中的任何一个时,视图都不响应.
[self.fullNameTextView setAutocapitalizationType:UITextAutocapitalizationTypeWords];
self.fullNameTextView.autocapitalizationType = UITextAutocapitalizationTypeWords;
Run Code Online (Sandbox Code Playgroud)
这是iOS 8.1中的错误吗?
我的模拟器放大到iPhone 6 plus屏幕的大约一半.截图如下.这是怎么来的,我该如何解决这个问题?
编辑
如果它可能有所帮助:我正在运行OSX Mavericks的最新13"mac air.
我有一个UIImageView
全屏显示为“背景”的图片。每当我将图片设置viewdidload
为默认设置时,它的contentMode
效果都很好。
但是,当我这样做时:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
self.pickedPhotoImageView.contentMode = UIViewContentModeScaleAspectFit; // set desired contentMode here
self.pickedPhotoImageView.clipsToBounds = YES;
self.pickedPhoto = image;
[self.pickedPhotoImageView setImage:image];
[self dismissViewControllerAnimated:YES completion:nil];
}
Run Code Online (Sandbox Code Playgroud)
contentMode
失去对照片的所有尊重,并且在拍摄照片时仅显示照片的一小部分。像这样,UIImageView如何失去对属性的尊重?
当您触摸该视图中的按钮时,我想在普通VC中添加搜索栏.
有这样一种简单/优雅的方式吗?我假设我要以编程方式创建它,但我不知道任何可以在其中添加动画而不仅仅是显示和隐藏它们的好解决方案.
我想将图像上传到解析服务器.A PFFile
最多只能是10mb,所以我写了一个类别来检查UIImage
bytesize是否超过了.
这是我的类别中的代码:
- (UIImage *)scaleImageToSize:(CGFloat)destSize{
UIImage *img = self;
NSData *imgData = UIImageJPEGRepresentation(img, 1.0);
NSLog(@"size: %lu", (unsigned long)[imgData length]);
while ([imgData length] > destSize) {
UIImageJPEGRepresentation(img, 0.9);
NSLog(@"new size: %lu",(unsigned long)[imgData length]);
}
return img;
}
Run Code Online (Sandbox Code Playgroud)
但是,当我打电话[image scaleImageToSize:10485760];
.它的大部分时间都小于此.
但是,在运行以下行之后:
photoFile = [PFFile fileWithData:UIImagePNGRepresentation(image)];
Run Code Online (Sandbox Code Playgroud)
该[photoFile fileSize]
suddently超过10485760
.怎么可能?我怎样才能防止照片变得太大PFFile
?
ios ×8
objective-c ×5
cocoa-touch ×4
healthkit ×2
swift ×2
apple-watch ×1
bluebird ×1
core-text ×1
emoji ×1
ios8 ×1
java ×1
javascript ×1
node.js ×1
promise ×1
regex ×1
swift3 ×1
textkit ×1
uiimage ×1
uiimageview ×1
uisearchbar ×1
uitextfield ×1
uitextview ×1
watchkit ×1