自从Swift 3和XCode8以来,我的项目编译速度非常慢.每次我添加一个空行到文件,重新编译需要一整分钟.当我检查输出时,没有特定的文件需要很长时间.(我也用这个工具测量它:https://github.com/RobertGummesson/BuildTimeAnalyzer-for-Xcode)
它似乎总是一次编译4个文件."节奏"非常稳定.只是很慢......
另外:每当我打开或切换文件时,可能需要很长时间才能获得自动完成或错误/警告.
我可以检查什么?我几乎觉得我设置了一些标志,只是像疯了一样拖慢构建速度.
编辑: 这不是解决潜在问题的方法,但我花了一些时间将更多代码转移到框架上.这产生了不同(仅仅因为它每次都必须重新编译更少的文件).这不应该是必要的,但它无法忍受......我当然仍然非常期待一个正确的解决方案.
我正在使用Android Studio,Gradle,git.
在每次推向主分支时,我想构建一个新的App版本,该版本已上传到Google Play商店的Alpha频道.为此,我需要为每个构建增加App的versionCode.
为此我似乎有几个选择:
目前,我最喜欢3.
有人有明确的方法吗?
我想在我的 React 应用程序中全局捕获错误。
但是每次错误被捕获/转发两次到我注册的函数。
示例代码:
window.onerror = (msg, url, lineNo, columnNo, error) => {
console.log(msg)
alert(msg)
}
class TodoApp extends React.Component {
constructor(props) {
super(props)
}
render() {
return (
<button onClick={(e)=>{
console.log("clicked")
null.bla
}}>
Create an error
</button>
)
}
}
ReactDOM.render(<TodoApp />, document.querySelector("#app"))
Run Code Online (Sandbox Code Playgroud)
这是一个 JS 小提琴:https : //jsfiddle.net/dmxur0rc/4/
控制台只显示一个“点击”日志,因此触发两次的不是按钮,而是错误事件。
我有一个涉及导航的应用程序.如果用户启动导航,则会创建一种"navigationLifecycleManager".它存储在应用程序实例中,以便在配置更改,活动等之间切换时幸免于难.
但是,如果用户"退出"应用程序,我想杀死一些后台线程,将一些次要数据存储到应用程序存储中,依此类推.所以我需要一些钩子告诉我应用程序何时退出.
必须通过覆盖"onPause"并检查"isFinishing"来实现.但这并不能解决最近的应用程序列表中的问题.滑动似乎没有任何东西.无论是"的onPause","的onDestroy",也不是"onTerminate"是所谓的活动/应用.
我的Android Studio(1.2.1.1)的Gradle编辑器非常缓慢.每当我输入几个字符时,它就会冻结一会儿.在Preferencs-> Editor-> Inspections下我已经停用了gradle部分中的所有内容,希望这会再次加快速度.
我的同事有同样的问题,我们现在和AS + Gradle合作了大约一个星期.
我正在使用Swift 2和Xcode 7构建iOS 9应用程序。
将应用程序部署到手机时,我的应用程序运行良好,但是当我运行任何单元测试时,对于许多类,我都会收到以下错误消息:
Class _TtC5<AppName>19<ClassName> is implemented in both /Users/<Username>/Library/Developer/CoreSimulator/Devices/<UUID>/data/Containers/Bundle/Application/<UUID</<AppName>.app/<AppName> and /Users/<Username>/<Path/To/Workspace>/DerivedData/<AppName>/Build/Products/Debug-iphonesimulator/<AppName>.xctest/<AppName>. One of the two will be used. Which one is undefined.
有任何想法吗?
我是Vaadin的新手.在此之前,我制作了一个JSF Web应用程序.我有一个ManagedBean执行用户的登录.我使用安全领域来委派凭证的实际验证.
我怎么在Vaadin这样做?有最好的做法吗?我正处于将某些东西放在一起的地步,但必须有某种标准程序,不应该!我找到了一些关于此的教程,但主要是使用Spring(我想使用EJB).此外,每个教程似乎都是不必要的复杂.
对于一些如此常见的东西,必须有一些简单的+结论性教程.
苹果文档说:
因为图像对象是不可变的,所以创建后不能更改它们的属性。大多数图像属性是使用随附图像文件或图像数据中的元数据自动设置的。图像对象的不可变特性也意味着它们可以安全地从任何线程创建和使用。
此外,如果您查看这个“UIImage 的线程安全”问题的答案,可以得出结论,从任何线程(至少从 iOS 9 开始)使用它们都是安全的。
然而,有些评论抱怨问题,特别是关于在后台线程上创建 UIImages 的问题。
就我而言,我确信这会导致动画停止工作的问题。有人对此有见解吗?
我有一个HashSet<Foo>.我有一个对象
如果我称它为hashSet.contains(fooInstance)返回仍然false.
它变得非常奇怪的是以下行返回true:
new ArrayList<Foo>(hashSet).contains(fooInstance)
Run Code Online (Sandbox Code Playgroud)
遗憾的是,事实证明,.contains()实现的差异究竟在哪里,比预期更难.但我想我会是安全的,因为.equals()和.hashCode()做工精细.
我有一个String扩展,可以帮助我国际化.
public extension String {
var localized: String {
return NSLocalizedString(self, tableName: nil, bundle: Bundle.main, value: "", comment: "")
}
func localized(args:CVarArg...) -> String{
return NSString.localizedStringWithFormat(self.localized as NSString, args) as String
}
}
Run Code Online (Sandbox Code Playgroud)
这样我就可以轻松地在应用程序的任何地方使用"hello_world".localized,它可以很好地工作.
现在我想拥有相同的功能,但也希望能够传递参数.然而,传递'CVarArg ......'似乎并不像我期望的那样有效.
"grant_gps_access".localized("MyApp")
预期结果:"请授予MyApp GPS访问权限"
实际结果:"请授予(\n MyApp \n)GPS访问权限"
我在这里错过了什么?
我在Playground中得到了这段代码:
func throwsError() throws{
var x = [1,2]
print(x[3])
}
func start(){
do{
try throwsError()
}
catch let unknown{
"unknown: \(unknown)"
}
}
start()
Run Code Online (Sandbox Code Playgroud)
所以很明显这个'throwsError函数会抛出一个错误:
执行被中断,原因是:EXC_BAD_INSTRUCTION
有没有办法抓住这个?我在线阅读为Array类编写一个下标,它总是检查范围,但问题更大:我不能抓住任何东西吗?
我是JavaEE和EJB的新手.我用它做了我的前几步,但是基本的注释有很多东西,我不会得到,无论我花了多少时间用Google搜索和阅读电子书.也许有人可以帮忙或给我一个很好的解释.
@ Stateful/@ Stateless我想我理解了基本概念.但是默认使用哪一个?
@ManagedBean/@ Named @Named Annotaion是否与@ManagedBean相同,仅使用自定义名称?
@ Sessionscoped/@Requestscoped这些会干扰@Stateful/@ Stateless吗?根据我的理解,将@Stateless与@Sessionscoped配对是没有意义的,因为@Stateless bean位于服务器上的这个"Bean-Pool"中,用于单方法调用而不是用于持久的任务.根据这个逻辑,我认为拥有一个@Requestscoped @Stateful bean是没有意义的,因为在初始HTTP-Request之后,你的Bean与客户端"断开连接".
我让我的程序工作,但如果我有效率,如果我真的不知道我在做什么,我怎么能现在?
我正在使用JPA/Hibernate.
假设我有文件夹和文件.每个文件夹可以包含更多文件夹和文件.每个文件都知道它的根文件夹是什么(不是父文件夹).
@Entity
public class Folder{
...
@OneToMany
@JoinColumn("folder_id")
private List<Folder> folders;
@OneToMany
@JoinColumn("file_id")
private List<File> files;
...
}
@Entity
public class File {
...
@ManyToOne
private Folder rootFolder;
...
}
Run Code Online (Sandbox Code Playgroud)
我创建了一个新文件和一个新文件夹.我把文件放在文件夹中.现在文件位于文件夹"files"-collection中,文件夹在"rootFolder"文件中引用 - 变量.
如果我坚持这一点,我得到"对象引用未保存的瞬态实例"或"在刷新之前保存瞬态实例:entities.file.rootFolder - > entities.Category"(取决于首先保留的内容).
有一种方法可以诠释这个,所以无论我先保存什么都行不通!我可以以某种方式以编程方式解决它插入第一个实体而不引用另一个,然后插入另一个然后放入引用,但我不认为这应该是必要的.
我搜索了这个,但我能找到的只有@OneToMany和@ManyToOne,但在我的情况下,我不能使用它.文件夹不应该知道它是否是根文件夹.
我很感激任何想法或指导教程.
ios ×5
swift ×4
android ×2
java-ee ×2
swift3 ×2
xcode ×2
annotations ×1
collections ×1
contains ×1
ejb ×1
equals ×1
exception ×1
git ×1
gradle ×1
hashcode ×1
hibernate ×1
html ×1
iphone ×1
jaas ×1
java ×1
javabeans ×1
javascript ×1
jenkins ×1
jpa ×1
many-to-one ×1
orm ×1
reactjs ×1
swift2 ×1
uiimage ×1
vaadin ×1
xcode7 ×1
xcode8 ×1
xctest ×1