我正在尝试以UISearchDisplayController编程方式创建.我有一个应该设置我的搜索控制器的方法,但是当我调用它时,没有任何反应.
这是我的-setupSearch方法:
- (void)setupSearch {
UISearchBar *myBar;
UISearchDisplayController *myCon;
myBar = [[UISearchBar alloc] initWithFrame:CGRectZero];
[myBar sizeToFit];
myCon = [[UISearchDisplayController alloc]
initWithSearchBar:myBar contentsController:self];
[myBar release];
myCon.delegate = self;
myCon.searchResultsDataSource = self;
myCon.searchResultsDelegate = self;
/* Setup scopes */
{
NSMutableArray *scopes;
NSUInteger count, i;
NSString *aScope;
count = SCOPE_COUNT;
scopes = [[NSMutableArray alloc] initWithCapacity:count];
for(i = 0; i < count; i++) {
// I create four scopes here
}
myCon.searchBar.scopeButtonTitles = scopes;
[scopes release];
}
[myCon release]; …Run Code Online (Sandbox Code Playgroud) 这个问题可能看起来有点长,但我尽量提供尽可能多的信息,因为我对此非常感兴趣.
我目前正在开发一个应该自动执行XML文档解析的库.但是我现在遇到了第一次测试库的问题.
我有一个名为library的库类CSXDocumentLayout,它表示文档的布局.此类包含- (NSError *)readLayoutDocument:(NSString *)fpath从init方法调用的私有方法.
/* MARK: Reading in Layouts */
- (NSError *)readLayoutDocument:(NSString *)fpath {
CSXDocumentLayout *layout;
CSXXMLParser *parser;
BOOL state;
layout = [CSXDocumentLayout layoutDocumentLayout];
parser = [[CSXXMLParser alloc] initWithDocumentLayouts:
[NSArray arrayWithObject:layout]];
parser.file = fpath;
state = [parser parse];
if(state == NO || parser.error != nil) {
return parser.error;
}
return nil;
}
Run Code Online (Sandbox Code Playgroud)
此方法将读入表示其他XML文档布局的XML文档.它由类解析CSXXMLParser,我想测试它.
我创建了一个表示布局文档的对象+[CSXDocumentLayout layoutDocumentLayout].此方法在类别中实现CSXDocumentLayout (CSXLayoutObject).
以下是我的测试文件:
#import <Foundation/Foundation.h>
#import <CeasyXML.h>
int main(int argc, …Run Code Online (Sandbox Code Playgroud) cocoa extension-methods objective-c foundation unrecognized-selector
我想将int32_t主机字节顺序转换为网络字节顺序,反之亦然.我知道htonl()函数及其变体,但这需要无符号整数.是否有标准库函数可以使用有符号整数执行相同的操作,还是我必须自己实现它?如果我必须自己实施,我应该怎么做?
我正在寻找一个适用于Linux和Mac OS X的例程.
最近我开始学习本指南,开始从互联网上下载文件.我读了它并想出了下面的代码来下载一个网站的HTTP主体.唯一的问题是,它不起作用.调用recv()调用时代码停止.它不会崩溃,它只是继续运行.这是我的错吗?我使用错误的approch吗?我打算使用代码不仅下载.html文件的内容,还要下载其他文件(zip,png,jpg,dmg ...).我希望有人可以帮助我.这是我的代码:
#include <stdio.h>
#include <sys/socket.h> /* SOCKET */
#include <netdb.h> /* struct addrinfo */
#include <stdlib.h> /* exit() */
#include <string.h> /* memset() */
#include <errno.h> /* errno */
#include <unistd.h> /* close() */
#include <arpa/inet.h> /* IP Conversion */
#include <stdarg.h> /* va_list */
#define SERVERNAME "developerief2.site11.com"
#define PROTOCOL "80"
#define MAXDATASIZE 1024*1024
void errorOut(int status, const char *format, ...);
void *get_in_addr(struct sockaddr *sa);
int main (int argc, const char * argv[]) {
int status;
// …Run Code Online (Sandbox Code Playgroud) 我创建了一个实际上代表一个存储在char中的8个布尔数组的对象.我用它来学习更多关于按位运算符以及在C中创建自己的对象的内容.所以我有两个问题:
代码:
/*
* IEFBooleanArray.h
* IEFBooleanArray
*
* Created by ief2 on 8/08/10.
* Copyright 2010 ief2. All rights reserved.
*
*/
#ifndef IEFBOOLEANARRAY_H
#define IEFBOOLEANARRAY_H
#include <stdlib.h>
#include <string.h>
#include <math.h>
typedef char * IEFBooleanArrayRef;
void IEFBooleanArrayCreate(IEFBooleanArrayRef *ref);
void IEFBooleanArrayRelease(IEFBooleanArrayRef ref);
int IEFBooleanArraySetBitAtIndex(IEFBooleanArrayRef ref,
unsigned index,
int flag);
int IEFBooleanArrayGetBitAtIndex(IEFBooleanArrayRef ref,
unsigned index);
#endif
Run Code Online (Sandbox Code Playgroud)
/*
* IEFBooleanArray.c
* IEFBooleanArray
*
* Created by ief2 on 8/08/10.
* Copyright 2010 ief2. All rights reserved.
*
*/
#include …Run Code Online (Sandbox Code Playgroud)
我一直在寻找一种在iPhone上启动守护进程的方法,我通过学习蚂蚁应用程序的源代码,用Xcode创建了一个小测试应用程序,它告诉我应该使用launchctl但不幸的是它不起作用.
我已经在我的iPod Touch上用SSH安装了我的应用程序/Applications/,然后我通过SSH通过SSH启动它,mobile我的日志说:
Script started on Thu Feb 24 19:33:28 2011
bash-3.2$ ssh mobile@192.168.1.8
mobile@192.168.1.8's password:
iPod-van-Henri:~ mobile$ cd /Applications
iPod-van-Henri:/Applications mobile$ cd DaemonUtility.app/
iPod-van-Henri:/Applications/DaemonUtility.app mobile$ ./DaemonUtility
2011-02-24 19:35:08.022 DaemonUtility[1369:107] Read 0 bytes
2011-02-24 19:35:09.021 DaemonUtility[1369:107] Read 0 bytes
2011-02-24 19:35:10.021 DaemonUtility[1369:107] Read 0 bytes
2011-02-24 19:35:11.021 DaemonUtility[1369:107] Read 0 bytes
Bug: launchctl.c:2367 (24307):13: (dbfd = open(g_job_overrides_db_path, O_RDONLY | O_EXLOCK | O_CREAT, S_IRUSR | S_IWUSR)) != -1
launchctl: CFURLWriteDataAndPropertiesToResource(/private/var/stash/Applications.pwn/DaemonUtility.app/com.developerief2.daemontest.plist) failed: …Run Code Online (Sandbox Code Playgroud) 我正在设计一个带有服务器的程序,让两个客户端进行通信.有一个客户端执行命令,另一个客户端执行命令.
为了使这项工作,我有两个线程:一个用于受控客户端的线程,另一个用于控制器客户端.
受控客户端始终保持连接,具有包含任务的向量,并在添加任务时执行这些任务.它有一个无限的while循环,当连接关闭时它会停止.
控制器 - 客户端将任务添加到向量.
现在因为在两个线程之间共享一个向量,可能会出现竞争条件,但由于一个线程只添加对象而另一个只弹出对象,这是必要的吗?我试图用这个问题制作一个流程图,但也许不清楚.我真的不知道如何创建流程图:

我正在使用std::vector <CustomClass>C++实现这一点.
提前谢谢,
ief2
编辑:附加问题:vector.size()呼叫需要互斥吗?
我将NSButtonCell类子类化为我的按钮给出了不同的外观.我的绘图代码工作正常.这是一个圆形的按钮,里面装满CGGradients,看起来就像是iTunes播放控件.它们并不完全相同,但它们对我来说足够相似.
现在我的问题是按钮类型.我设置了按钮类型,-[PlayerButtonCell initImageCell:]但我没有让它工作,只按下按钮时绘制推入的外观.我告诉你一段我的代码:
//
// PlayerButtonCell.m
// DownTube
//
#import "PlayerButtonCell.h"
@implementation PlayerButtonCell
/* MARK: Init */
- (id)initImageCell:(NSImage *)image {
self = [super initImageCell:image];
if(self != nil) {
[self setImage:image];
[self setButtonType:NSMomentaryPushInButton];
}
return self;
}
- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView {
NSImage *myImage;
NSBezierPath *myPath;
NSRect myFrame;
NSInteger myState;
myFrame = NSInsetRect(cellFrame , STROKE_WIDTH / 2.0 , STROKE_WIDTH / 2.0);
myImage = [self image];
myState = [self state];
NSLog(@"%d", [self buttonType]);
/* Create bezier path */
{ …Run Code Online (Sandbox Code Playgroud)