我正在尝试在ios中构建一个聊天应用程序.我遇到了ios的XMPP.我对如何前进感到有点困惑.以下是我的疑惑:
我试图从一个文件中取出内容并将其写入另一个文件.我读得很好,但我无法将其写入另一个文件.
我有一个单词数据库.我想根据字母数将单词分成不同的文件.所有四个字母单词都放在一个文件中,依此类推.我在我的资源中添加了一个名为"4letter"的txt文件,以下是我的代码:
NSError *error;
//READ
NSString *dbFile = [[NSBundle mainBundle] pathForResource:@"words" ofType:@"txt"];
NSString *test = [NSString stringWithContentsOfFile:dbFile encoding:NSUTF8StringEncoding error:&error];
//convert from string to array
NSArray *lines = [test componentsSeparatedByString:@"\n"];
NSFileHandle *logFile = nil;
logFile = [NSFileHandle fileHandleForWritingAtPath:[[NSBundle mainBundle] pathForResource:@"4letter" ofType:@"txt"]];
//Test if write works
for (int i=0; i<5; i++)
{
NSString *randomAnagram = [[lines objectAtIndex:i] lowercaseString];
[logFile writeData: [randomAnagram dataUsingEncoding: NSNEXTSTEPStringEncoding]];
}
Run Code Online (Sandbox Code Playgroud) 我是ZSH的新手,并且一直在OSX 10.9上使用oh-my-zsh来朗读ZSH.我一直试图利用历史插件,但我得到了这个,"只有在ZLE处于活动状态时才能调用小部件." 调用任何与历史相关的命令时.我找了一种方法来规避这个问题,但一直没能找到解决办法.
我到处都搜索,但我找不到有关如何在Versions for Mac中创建分支的信息.这是怎么做到的?
有时我在zsh以下方面使用多行命令:
? echo \
> a \
> multiline \
> command
Run Code Online (Sandbox Code Playgroud)
从历史搜索中拉出命令后编辑命令时,我可以更改各行的内容.但是,我无法弄清楚如何插入另一行:
# I want to insert another line after "multiline"...
? echo \
> a \
> multiline \ # but hitting <return> here just runs the command, even though there's a backslash at the end of the line
> command
Run Code Online (Sandbox Code Playgroud)
如何在从历史记录中拉出的多行命令的中间插入换行符?
我已经就这个话题问了几个问题,并没有真正得到关于如何做到的真实答案(它实际上收到了"Tumbleweed Badge"大声笑).
我有一个基于文档的应用程序(意味着Menu.Xib与MyDocument.Xib分开).
假设我想添加一个'Bold'按钮或Check Spelling按钮(Menu.xib中列出的项目(在格式>字体等下)到MyDocument(主界面).我无法弄清楚如何执行此操作.
任何帮助将不胜感激(如果它有效,我将立即给予答案,这已经让我困扰了几个星期).
我尝试将字体管理器添加到MyDocument.Xib并以此方式连接,但Bold按钮仅启用,它不会禁用.另外,无法通过字体管理器激活拼写检查等.
必须有更好的方法来做到这一点.
Apple文档非常模糊.
我有一个NSSplitView,它有两个窗格 - 左边是侧边栏表视图,右边是一个Web视图.我还有一个委托集,它处理侧边栏的约束,如下所示:
- (CGFloat)splitView:(NSSplitView *)splitView constrainMaxCoordinate:(CGFloat)proposedMax ofSubviewAt:(NSInteger)dividerIndex {
return 500.0f;
}
- (CGFloat)splitView:(NSSplitView *)splitView constrainMinCoordinate:(CGFloat)proposedMinimumPosition ofSubviewAt:(NSInteger)dividerIndex {
return 175.0f;
}
- (BOOL)splitView:(NSSplitView *)splitView canCollapseSubview:(NSView *)subview {
return NO;
}
Run Code Online (Sandbox Code Playgroud)
这意味着侧边栏只能在175到500像素之间调整大小,这在使用分隔符句柄时工作正常.但是当调整整个窗口的大小时,分隔符会从这些约束中重新定位.
有谁知道如何控制这个?
另外:如果我想存储用户选择的侧边栏宽度,是否可以将其读出来,将其保存到首选项文件并稍后恢复,或者是否有更直接的方法来执行此操作?我注意到窗口的状态在某些情况下得到了保存 - 这通常会发生还是我必须控制它?
提前致谢
阿恩
我有一个基于NSDocument的应用程序和一个NSDocumentController子类.我的NSDocument使用文件URL和URL以及使用Web服务的自定义方案.
我使用自定义代码处理大部分加载和保存,包括-saveToURL:ofType:forSaveOperation:completionHandler:.+autosavesInPlace回报YES.
我遇到的问题:启动时不会恢复具有自定义URL方案的文档.具有文件URL方案的文档是 - 保存到文件的常规文档和自动保存的无标题文档.
在打开基于服务器的文档并退出应用程序后,似乎没有在重新启动时调用NSDocument方法.特别是,四个初始化程序都不会被调用:
-reopenDocumentForURL:withContentsOfURL:display:completionHandler:也不调用NSDocumentController方法.
文件的可恢复状态如何以及何时编码?他们如何以及何时解码?
我正在开发一个数据库访问库,我正在尝试使用已经编写的单元测试来检查内存泄漏.
这些是基于SenTestingKit的逻辑测试,在Xcode 4.2中设置了正常的方式.我可以使用Cmd-U运行它们,但是没有办法从Instruments启动它们,或者调用Instruments来检查它们.
我怎样才能做到这一点?我是否需要编写新案例并将其构建到应用程序中?
(这个问题是关于泄漏检查单元测试,但我认为是pre-SenTestingKit.)
我需要检查另一个用户的主目录中的目录.通常情况下,我会sudo,但这会产生另一个过程,我也会失去我的环境.
例如,我有:
if [[ -d "/home/otheruser/svn" ]];
then
echo "SVN exists"
else
echo "SVN does not exist"
fi
Run Code Online (Sandbox Code Playgroud)
我需要测试条件以root权限运行.
cocoa ×3
ios ×2
objective-c ×2
zsh ×2
zsh-zle ×2
bash ×1
cocoa-touch ×1
file-io ×1
instruments ×1
macos ×1
memory-leaks ×1
nsdocument ×1
nsmenuitem ×1
nssplitview ×1
shell ×1
sudo ×1
versions ×1
xcode ×1
xmpp ×1