小编App*_*ter的帖子

在多对多关系中观察依赖键

我有一个核心数据实体"bid",它与许多"项目"有关系,称为"itemLink".

在IB中,我有一个文本字段绑定到"总计",这几乎可以工作.

在"bid.m"我有:

- (NSDecimalNumber *)total
{
    return [self valueForKeyPath:@"itemLink.@sum.price"];
}
Run Code Online (Sandbox Code Playgroud)

我也有:

+ (NSSet *)keyPathsForValuesAffectingTotal { 
    return [NSSet setWithObjects:@"itemLink", nil]; 

}
Run Code Online (Sandbox Code Playgroud)

添加或删除项目时,"总计"按预期更新.但是,如果您更改了itemLink集合中的"项目",则总计不会刷新.如何让KVO查看链接的NSSet中的相关对象何时发生了变化?

谢谢

cocoa core-data objective-c key-value-observing cocoa-bindings

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

NSArrayController选择不使用NSTableView绑定进行更新

这让我困惑了好几个小时......

我有一个对象(CuesDoc)具有属性(NSMutableArray *cuesArray)和一些其他属性.该cues数组包含多个Cue对象.(CuesDoc*) currentCuesDoc在我的房子里有一个叫做的房产AppDelegate.

在IB,我有一个NSArrayController,这是必然的AppDelegate.currentCuesDoc.cuesArray.

我有一个NSTableView绑定的NSArrayController,可以在表和cuesArray中添加/删除/编辑值.到现在为止还挺好.

我有下面的详细信息字段,它们被绑定到NSArrayController.selection,每个属性都设置了模型密钥路径.

当视图首次出现时,详细信息字段将填充表视图中第一个项目的内容,但是当我选择其他行时,详细信息字段不会更新以反映当前选择.

我增加了一个观察员selectionIndexesselectionNSArrayController,并认为出现的时候,我得到所要求的observeValueForKeyPath:方法一次,但不改变选择后.

macos cocoa objective-c nsarraycontroller cocoa-bindings

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

AWS Elastic Beanstalk上的Spring Boot/Tomcat仅显示404页面

我有一个Spring Boot应用程序,可以在Tomcat下的localhost上正常运行.当我将其打包为WAR并将其部署在Elastic Beanstalk上时,我只获得404页面.我尝试了许多不同的调整试图让它工作,但我不知所措.

我已将包装配置为WAR,IntelliJ生成工件:

<groupId>com.ideaEngine</groupId>
<artifactId>app_deployment</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <start-class>com.xxxxxxxx.WebappApplication</start-class>
    <java.version>1.8</java.version>
</properties>
Run Code Online (Sandbox Code Playgroud)

我也把Tomcat包括在内

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)

Elastic Beanstalk服务器是运行Tomcat 8 Java 8的64位Amazon Linux 2016.03 v2.2.0

Localhost JVM是jdk1.8.0_71.jdk

应用程序对象是:

@SpringBootApplication
public class WebappApplication {

    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(WebappApplication.class);
    }

    public static void main(String[] args) {
        ApplicationContext ctx = SpringApplication.run(WebappApplication.class, args);
        System.out.println("Running............");
    }
}
Run Code Online (Sandbox Code Playgroud)

我有一个测试控制器,我用它来确保一切正常:

@RestController
public class HelloController {

    @RequestMapping("/")
    public String index() {
        return "Greetings from Spring Boot!";
    }
}
Run Code Online (Sandbox Code Playgroud)

...它会产生404错误.

我已将.war文件命名为Webapp.war,并将其命名为ROOT.war,并尝试在.com /和/ ROOT …

java tomcat amazon-web-services spring-boot amazon-elastic-beanstalk

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

嵌入式 Tomcat 不会侦听 AWS Elastic Beanstalk 中的端口 80

我正在将带有嵌入式 Tomcat 的 Spring Boot .jar 启动到 Elastic Beanstalk (Java) 实例。

配置文件中的 server.port=80,但是 EB 不会让 Tomcat 绑定到端口 80。

是什么阻止 Tomcat 侦听端口 80?如何解决?

这是日志的相关部分:

Caused by: org.apache.catalina.LifecycleException: service.getName(): "Tomcat";  Protocol handler start failed
    at org.apache.catalina.connector.Connector.startInternal(Connector.java:1000) ~[tomcat-embed-core-8.5.11.jar!/:8.5.11]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ~[tomcat-embed-core-8.5.11.jar!/:8.5.11]
    ... 21 common frames omitted
Caused by: java.net.SocketException: Permission denied
    at sun.nio.ch.Net.bind0(Native Method) ~[na:1.8.0_121]
    at sun.nio.ch.Net.bind(Net.java:433) ~[na:1.8.0_121]
    at sun.nio.ch.Net.bind(Net.java:425) ~[na:1.8.0_121]
    at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) ~[na:1.8.0_121]
    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) ~[na:1.8.0_121]
    at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:210) ~[tomcat-embed-core-8.5.11.jar!/:8.5.11]
    at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:980) ~[tomcat-embed-core-8.5.11.jar!/:8.5.11]
    at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:573) ~[tomcat-embed-core-8.5.11.jar!/:8.5.11]
    at org.apache.catalina.connector.Connector.startInternal(Connector.java:993) ~[tomcat-embed-core-8.5.11.jar!/:8.5.11]
    ... 22 common frames …
Run Code Online (Sandbox Code Playgroud)

java tomcat amazon-web-services spring-boot amazon-elastic-beanstalk

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