我发现自己一直在编写文件和目录实用程序函数,我想知道是否有好的文件和目录库已经实现了比System.IO中默认的更广泛的集合.我正在寻找的功能类似于:
public static void GetTemporaryDirectory()
{
string tempDirectory = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName());
Directory.CreateDirectory(tempDirectory);
return tempDirectory;
}
public static void CreateEmptyFile(string filename)
{
File.Create(filename).Dispose();
}
public static void CreateEmptyFile(string path, string filename)
{
File.Create(Path.Combine(path, filename)).Dispose();
}
public static void CreateDirectory(string path)
{
Directory.CreateDirectory(path);
}
public static void CreateDirectory(string path, string childpath)
{
Directory.CreateDirectory(Path.Combine(path, childpath));
}
Run Code Online (Sandbox Code Playgroud) 我正在开发一个UINavigationController驱动的iPad应用程序(在模拟器中测试).导航控制器堆栈上只有两个UIViewControllers.为了演示,我们称之为SetupController和ContentController.SetupController用栈推送ContentController
[self.navigationController pushViewController:contentController animated:YES];
Run Code Online (Sandbox Code Playgroud)
在查看内容时,您可以按后退按钮返回设置控制器.如果应用程序处于纵向模式,则一切正常.
然而,当应用程序处于横向状态并且我点击后退按钮时,事情就会变得混乱.视图控制器堆栈已正确更新(例如,我看到SetupController的视图),但UINavigationBar未正确更新.仍会显示与ContentController关联的UINavigation栏项.要查看SetupCotroller预期的UINavigationBar项目,我必须再次按下后退按钮,此时UINavigationBar会动画到正确的状态.同样,这只发生在横向模式,肖像模式完美.
作为测试.在[SetupController viewDidAppear:]方法中,我添加了以下调试输出
if(self.navigationController.navigationBar.topItem != self.navigationItem) {
NSLog(@"wrong nav item!");
} else {
NSLog(@"correct nav item!");
}
Run Code Online (Sandbox Code Playgroud)
每当模拟器处于横向模式时,我都会收到"错误"的消息,而在纵向模式下则不会.我已经尝试删除所有viewDidAppear:来自ViewControllers和我正在修改其导航项或导航栏本身的任何实例的消息.
有什么想法吗?我假设我在这里做错了什么,但这对我来说肯定是个错误.
我正在使用jaxb进行应用程序配置
我觉得我正在做一些非常歪曲的事情,我正在寻找一种不需要实际文件或此交易的方法.
正如您在代码I中看到的:
1.从我的JaxbContext(实际上来自我的类注释)创建一个模式到一个文件中2.设置这个模式文件,以便在我解组时允许真正的验证
JAXBContext context = JAXBContext.newInstance(clazz);
Schema mySchema = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI).newSchema(schemaFile);
jaxbContext.generateSchema(new MySchemaOutputResolver()); // ultimately creates schemaFile
Unmarshaller u = m_context.createUnmarshaller();
u.setSchema(mySchema);
u.unmarshal(...);
Run Code Online (Sandbox Code Playgroud)
你们中的任何人都知道如何在不需要创建位于我的计算机中的模式文件的情况下验证jaxb吗?
我是否需要创建用于验证的模式,当我通过JaxbContect.generateSchema获取它时,它看起来是多余的?
你怎么做到这一点?
考虑这个简化的应用领域:
Person 是参与调查的任何人Report 是调查的一部分信息Report引用主要Person(调查的主题)Report具有次要相关的共犯(并且在其他调查或报告中肯定是主要的如果这些存储在某种数据库中并且我希望使用不可变对象,则似乎存在关于状态和引用的问题.
假设我改变了一些关于a的元数据Person.由于我的Person对象是不可变的,我可能会有一些代码:
class Person(
val id:UUID,
val aliases:List[String],
val reports:List[Report]) {
def addAlias(name:String) = new Person(id,name :: aliases,reports)
}
Run Code Online (Sandbox Code Playgroud)
因此,我Person的新别名成为一个新对象,也是不可变的.如果a Report指的是那个人,但别名在系统的其他地方被改变了,我Report现在指的是"老"人,即没有新别名的人.
同样,我可能会:
class Report(val id:UUID, val content:String) {
/** Adding more info to our report */
def updateContent(newContent:String) = new Report(id,newContent)
}
Run Code Online (Sandbox Code Playgroud)
由于这些对象不知道是谁引用它们,因此我不清楚如何让所有"引用者"知道有一个新对象可用来代表最近的状态.
这可以通过让所有对象从中央数据存储"刷新"并且创建新的,更新的对象的所有操作存储到中央数据存储来完成,但这感觉就像是对基础语言的引用的简洁重新实现.也就是说,让这些"次要可存储物体"变得可变更为明确.因此,如果我向a添加别名Person,则所有引用者都会看到新值而不执行任何操作.
当我们想要避免可变性时,如何解决这个问题,或者这是不可变性无效的情况?
是否有任何充分的理由从默认的"bin\debug"修改项目的构建输出路径?将所有项目指向公共构建输出位置的解决方案是否有任何好处?
IPython上的标签完成似乎不起作用.例如,
import numpy
numpy.<tab>
Run Code Online (Sandbox Code Playgroud)
只需添加一个标签.
import numpy
num<tab>
Run Code Online (Sandbox Code Playgroud)
只是添加一个标签.你能否为这个问题提出一些可能的原因?我正在运行Windows 7和Python 2.6.5.
什么格式化程序用于布尔值?
编辑:
例如:NSLog(@" ??", BOOL_VAL);,是什么???
我有一个200kb的文件,我在多个页面中使用的,但在每个页面上我只需要1-2行该文件,所以如果我知道行号,我只能读取这些行所需的内容?
例如,如果我只需要第10行,我不想在内存中加载所有行,只是第10行.
对不起,我的英语不好!
我有一个返回HTTP 302重定向的URL,我想获取它重定向到的URL.
问题是System.Net.WebClient似乎实际上遵循它,这很糟糕.HttpWebRequest似乎也这样做.
有没有办法制作一个简单的HTTP请求并返回目标位置而不使用WebClient?
我很想做原始套接字通信,因为HTTP很简单,但网站使用HTTPS,我不想做握手.
最后,我不关心我使用哪个类,我只是不希望它遵循HTTP 302重定向:)
我在Matlab程序中使用以下函数:
...
...
...
[A, B, C, D, E] = function (F, G, H, I, J, K, L, M, N, O, P)
...
...
...
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
??? Error using ==> function
Too many output arguments.
Run Code Online (Sandbox Code Playgroud)
A、B、C、D、E、F、G、H、I、J、K、L、M、N、O、P是函数的输入和输出向量。
但是当我用完整的脚本替换函数行时,同一个程序运行得很好!
你能告诉我应该在哪里查找错误吗?