小编Mik*_*e M的帖子

对于不存在的状态栏,iOS7内容偏移20像素

当我正在迁移到iOS7时,我对我的UIViews有一种奇怪的行为.它们似乎被发送消息缩小20像素.我已从所有XIB文件中删除状态栏,并将其显式设置为隐藏在应用程序委托中.我的UINavigationController似乎被发送了一条消息:

_computeAndApplyScrollContentInsetDeltaForViewController
Run Code Online (Sandbox Code Playgroud)

它又将消息发送到我的滚动视图

_adjustContentOffsetIfNecessary
Run Code Online (Sandbox Code Playgroud)

它将它们的偏移设置为-20像素......这不应该真的发生,因为没有理由让该功能按这个数量调整任何东西.

有没有人知道如何解决这个问题?

objective-c uiview contentoffset ios7

16
推荐指数
1
解决办法
7662
查看次数

Concat在Javascript中的空数组中

我正在浏览一些代码,我想知道这是如何有用的

grid.push([].concat(row));
Run Code Online (Sandbox Code Playgroud)

在我的理解中,它是一样的

grid.push([row]);
Run Code Online (Sandbox Code Playgroud)

为什么'连续'大惊小怪?

javascript arrays

7
推荐指数
2
解决办法
1万
查看次数

Electron Builder 中不存在应用程序入口文件

我有一个最小的电子应用程序,我正在尝试构建它(它运行良好)。我的 package.json 是

  "main": "main.js",
  "scripts": {
    "start": "electron -r babel-register .",
    "package": "build --dir",
    "postinstall": "electron-builder install-app-deps"
  },
  // dependencies
  "build": {
    "appId": "com.karmadust.mancuspianconvert",
    "files": [
      "node_modules/**/*"
    ],
    "directories": {
      "buildResources": "assets"
    }
  }
Run Code Online (Sandbox Code Playgroud)

当我运行时,npm run package我得到:

Application entry file "main.js" in the "[path-to-project]/dist/mac/myapp.app/Contents/Resources/app.asar" does not exist. Seems like a wrong configuration.
Run Code Online (Sandbox Code Playgroud)

node.js electron electron-builder

7
推荐指数
1
解决办法
6287
查看次数

在iOS上打开包含现有令牌数据的FBSession

我有一个后端服务,它将在我的应用程序中登录并从之前的登录中返回扩展的facebook令牌,可能来自另一台设备(因此此设备上没有缓存凭据).我想使用此令牌来启动Facebook会话.我使用的是:

FBSession* session = [[FBSession alloc] initWithPermissions:@[@"publish_actions"]];
FBAccessTokenData* tokenData = 
[FBAccessTokenData createTokenFromString:token
                             permissions:@[@"publish_actions"]
                          expirationDate:nil
                               loginType:FBSessionLoginTypeTestUser
                             refreshDate:nil];


[session openFromAccessTokenData:tokenData completionHandler:nil];
Run Code Online (Sandbox Code Playgroud)

为了清楚起见,我在这里传递'nil',在我的代码中,我处理完成并返回返回的会话对象,该对象看起来处于打开状态且没有错误.当我尝试使用会话时,我收到如下错误:

Error Domain=com.facebook.sdk Code=5 "The operation couldn’t be completed. (com.facebook.sdk error 5.)" UserInfo=0xb8b1680 {com.facebook.sdk:HTTPStatusCode=403, com.facebook.sdk:ParsedJSONResponseKey={
    body =     {
        error =         {
            code = 200;
            message = "(#200) The user hasn't authorized the application to perform this action";
            type = OAuthException;
        };
    };
    code = 403;
}, com.facebook.sdk:ErrorSessionKey=<FBSession: 0xa2b62a0, state: FBSessionStateOpen, loginHandler: 0xa29e9b0, appID: 131721883664256, urlSchemeSuffix: , tokenCachingStrategy:<FBSessionTokenCachingStrategy: 0xa273f60>, expirationDate: 4001-01-01 00:00:00 …
Run Code Online (Sandbox Code Playgroud)

facebook ios facebook-ios-sdk

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

我应该在 NextJS 中等待 Router.push

我正在使用 NextJS,import Router from 'next/router';我用来在页面之间导航的方法是Router.push('/some-page');This method is async,但是,它无需我添加即可工作await Router.push('/some-page');我是否正确使用了它?我真的不想执行低于此点的任何代码,因为我实际上只是重定向用户。我在官方文档中找不到任何有用的东西。

reactjs next.js next-router

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

HLA(高级组装)安装和链接器

我正在尝试安装可执行文件以在Mac OS 10.8上编译HLA中的程序.虽然工具似乎在正确的位置和工作,我在尝试编译第一个程序时收到以下错误

ld: warning: -macosx_version_min not specified, assuming 10.8
Undefined symbols for architecture i386:
  "_main", referenced from:
     implicit entry/start for main executable
ld: symbol(s) not found for architecture i386
Error returned by ld = 256
Run Code Online (Sandbox Code Playgroud)

hla executalbe似乎输出了目标文件,但链接器中的某些内容似乎无法正常工作.我以前设法在其他机器上安装它,但在大多数情况下我得到这个错误.

有任何想法吗?

hla

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

链接Boost线程库

我正在尝试将 Boost 的线程库包含在我的 C++ 项目中。我的 CMake 文件是这样的:

cmake_minimum_required(VERSION 3.6)
project(LearningC)

find_package(Boost REQUIRED)
include_directories(${Boost_INCLUDE_DIR})

set(CMAKE_CXX_STANDARD 11)

set(SOURCE_FILES main.cpp Student.cpp Student.h)

add_executable(LearningC ${SOURCE_FILES})

target_link_libraries(LearningC ${Boost_LIBRARIES})
Run Code Online (Sandbox Code Playgroud)

我收到错误:

Undefined symbols for architecture x86_64:
  "boost::this_thread::interruption_point()", referenced from:
      boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) in main.cpp.o
   [More stack traces...]
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

c++ boost cmake

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

使用 createEmbeddedView 测试 Angular 2 组件

我有一个带有模板的组件,可以像这样有条件地显示:

@Component({
    selector: "presentation",
    template: "<template #tpl><!-- HTML --></template>"
})
export class Presentation implements AfterViewInit {

    @ViewChild('tpl') template: TemplateRef<any>;
    constructor(private view: ViewContainerRef) {}

    ngAfterViewInit() {
       this.view.createEmbeddedView(this.template); 
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试编写测试,但一旦我打电话

it("should launch card in practice mode", () => {
    fixture.detectChanges();
}
Run Code Online (Sandbox Code Playgroud)

我得到:

Error: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

karma-jasmine angular-components angular

5
推荐指数
0
解决办法
530
查看次数

在 Docker 容器内使用 dumb-init 运行 Node

我试图在我的 docker 容器中使用 dumb-init,但容器操作系统找不到可执行文件。我的文件是

FROM node:16 AS builder

RUN apt update
RUN apt install dumb-init

WORKDIR /app

COPY package.json .

RUN yarn install

COPY . .

RUN yarn run build

FROM node:16 AS production

WORKDIR /app

COPY --from=builder /app/package.json ./package.json
COPY --from=builder /app/yarn.lock ./yarn.lock
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/node_modules ./node_modules

ENTRYPOINT ["/usr/bin/dumb-init", "--"]
CMD ["node", "dist/main"]
Run Code Online (Sandbox Code Playgroud)

当我运行它时

docker: Error response from daemon: failed to create shim: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "/usr/bin/dumb-init": stat …
Run Code Online (Sandbox Code Playgroud)

node.js docker tini

4
推荐指数
1
解决办法
6420
查看次数

NestJs ParseEnumPipe 无法解析

我正在使用 NestJs 框架(顺便说一句,很喜欢它),我想检查传入的数据,使其符合 Typscript 中的枚举。所以我有以下内容:

enum ProductAction {
  PURCHASE = 'PURCHASE',
}

@Patch('products/:uuid')
async patchProducts(
    @Param('uuid', ParseUUIDPipe) uuid: string,
    @Body('action', ParseEnumPipe) action: ProductAction,
  ) {

    switch(action) {

    ... code 
  }
Run Code Online (Sandbox Code Playgroud)

奇怪的是,当我运行这段代码时,第一个管道被编译

2022-07-21 16:53:51 [error] [ExceptionHandler] Nest can't resolve dependencies of the ParseEnumPipe (?, Object). Please make sure that the argument Object at index [0] is available in the FriendsModule context.
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

javascript typescript nestjs nestjs-config

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

在MongoDB中聚合并展平数组字段

我有一个架构:

var ProjectSchema = new Schema({
    name: {
        type: String,
        default: ''
    },
    topics: [{
        type: Schema.ObjectId,
        ref: 'Topic'
    }],
    user: {
        type: Schema.ObjectId,
        ref: 'User'
    }
});
Run Code Online (Sandbox Code Playgroud)

我想要做的是获得一个包含所有项目所有主题的数组.我无法直接查询主题并获得完整列表,因为某些主题未分配,并且它们不会将引用保留回项目(出于避免双向引用的原因).所以我需要查询Project并汇总一些方法.我做的事情如下:

Project.aggregate([{$project:{topics:1}}]);
Run Code Online (Sandbox Code Playgroud)

但这给了我一系列带有主题字段的Project对象.我想要的是一个包含主题对象的数组.

我怎样才能做到这一点?

mongoose mongodb node.js

2
推荐指数
1
解决办法
2403
查看次数

自动为C结构分配内存

我一直在使用C/C++,但今天我在某本书中看到了一些我以前从未见过的东西:

struct item {
   int code;
   float prize;
};

void main() {

   struct item a,*b;

   a.code = 123;
   a.prize = 150.75;
   printf ("Code: %d, Prize %d", a.code, a.prize);

   b->code = 124;
   b->prize = 200.75;

   printf ("Code: %d, Prize %d", a->code, a->prize);
}
Run Code Online (Sandbox Code Playgroud)

以上打印值正常,这是一个令人惊讶的*b部分.由于b是一个指针,为它分配的内存应该在堆栈上,大小为size_t(例如64位),而其数据只能通过在堆上单独分配来获得:

b = (item*)malloc(sizeof(struct item));
Run Code Online (Sandbox Code Playgroud)

显然,没有必要这样做.这怎么可能?

c malloc struct

0
推荐指数
1
解决办法
127
查看次数

使用 Swift 包管理器导入模块

我正在尝试使用 Swift 的包管理器在我的项目中导入外部模块。我的第一个模块来自Vapor 项目。我似乎无法让它工作。我开始

swift package init
swift package generate-xcodeproj
Run Code Online (Sandbox Code Playgroud)

我的 Package.swift 看起来像这样:

import PackageDescription

let package = Package(
    name: "OpenTools",
    products: [
        .library(
            name: "OpenTools",
            targets: ["OpenTools"]),
    ],
    dependencies: [
        .package(url: "https://github.com/vapor/json.git", from: "2.0.0")
    ],
    targets: [
        .target(name: "OpenTools", dependencies: ["JSON"]),
    ]
)
Run Code Online (Sandbox Code Playgroud)

然后我跑

swift package update
swift package generate-xcodeproj # to regenerate with dependencies
Run Code Online (Sandbox Code Playgroud)

然后尝试在我的主文件中导入 JSON 包

import JSON
Run Code Online (Sandbox Code Playgroud)

模块如下所示,但导入返回No such module 'JSON'错误。

在此处输入图片说明

有什么想法吗?

swift swift-package-manager

0
推荐指数
1
解决办法
3705
查看次数