如何在Xcode中为我自己的代码创建快速帮助条目?我只是想把它作为编码支持,就像编写Java时的Eclipse功能一样.在eclipse中,当您将方法悬停在其他位置时,您会在方法上方输入注释.
Xcode等效似乎是"快速帮助".
除了使用Doxygen之外真的没别的办法吗?对于我正在研究的小项目来说,Doxygen似乎有些过分.目前我确实知道我只想彻底填写快速帮助,所以请避免任何提示,"你必须为你的项目创建一个文档".
我真的很感激任何帮助,因为我在这个主题上唯一能找到的就是这个问题.
但正如您所看到的,没有可用的解决方案.
我正在寻找一种在iPhone App中展示可用WiFis的方法.到目前为止,我的研究结果如下:
甚至提到的改编件:http://code.google.com/p/iphone-wireless/issues/detail?id = 26也没有得到我想要的结果.最进步的结果是
dlopen错误:dlopen(/System/Library/SystemConfiguration/Aeropuerto.bundle/Aeropuerto,1):未找到图像失败:__ Apple80211Associate
在设备上启动应用程序后的消息(iPhone 3GS; iOS 3.1.3).
使用了导致错误的源代码:
NSMutableDictionary *networks;
bool scanning;
void *libHandle;
void *airportHandle;
int (*open)(void *);
int (*bind)(void *, NSString *);
int (*close)(void *);
int (*scan)(void *, NSArray **, void *);
networks = [[NSMutableDictionary alloc] init];
// libHandle = dlopen("/System/Library/Frameworks/Preferences.framework/Preferences", RTLD_LAZY);
// libHandle = dlopen("/System/Library/PrivateFrameworks/Apple80211.framework/Preferences", RTLD_LAZY);
libHandle = dlopen("/System/Library/SystemConfiguration/WiFiManager.bundle/WiFiManager", RTLD_LAZY);
open = dlsym(libHandle, "Apple80211Open");
bind = dlsym(libHandle, "Apple80211BindToInterface");
close = dlsym(libHandle, "Apple80211Close");
scan = dlsym(libHandle, "Apple80211Scan");
open(&airportHandle);
bind(airportHandle, @"en0"); …Run Code Online (Sandbox Code Playgroud) 我有一个问题,似乎是基于ARC的应用程序中的使用中对象的过早发布.我正在尝试在FTP服务器上创建一个文件夹.代码的相关部分如下; 我先说一下这个问题.
代码的问题是,调试输出中的
- (void)stream:(NSStream *)aStream handleEvent:(NSStreamEvent)eventCode
Run Code Online (Sandbox Code Playgroud)
方法永远不会被调用.
相反,我只是得到一个_EXC_BAD_ACCESS_错误.调试时我发现了两件事:
只有在执行以下代码行(createDir方法)时才会出现错误:
[ftpStream open];
Run Code Online (Sandbox Code Playgroud)如果没有发送该消息,其余代码实际上没有意义 - 但它也不会崩溃......
我使用NSZombieEnabled跟踪EXC_BAD_ACCESS:启用僵尸对象后,GDB会生成以下调试器信息:
*** -[FTPUploads respondsToSelector:]: message sent to deallocated instance 0x9166590
Run Code Online (Sandbox Code Playgroud)引用的地址0x9166590是我的FTPUploads对象的地址.在委托处理消息之前,它似乎已被释放.
为什么系统会释放一个正在使用的对象?我怎样才能防止它过早解除分配?
码:
FTPUploads.h摘录:
#import <Foundation/Foundation.h>
enum UploadMode {
UploadModeCreateDir,
UploadModeUploadeData
};
@class UploadDatasetVC;
@interface FTPUploads : NSObject<NSStreamDelegate> {
@private
NSString *uploadDir;
NSString *ftpUser;
NSString *ftpPass;
NSString *datasetDir;
NSArray *files;
/* FTP Upload fields */
NSInputStream *fileStream;
NSOutputStream *ftpStream;
// some more fields...
enum UploadMode uploadMode;
UploadDatasetVC *callback;
}
- (id) initWithTimeseriesID: (int) …Run Code Online (Sandbox Code Playgroud) 我真的想使用getBuffer:length:NSInputStream 的方法.经过大量的研究,我找不到使用这种方法的有效例子,因为大多数人真的需要read: maxLength:.
所以现在关于周围环境的一些事实:*我正在为iPhone开发应用程序,iOS 3.1.3*我已经通过套接字建立了网络通信*网络连接实际上有效; 所以我没有忘记将一个流添加到runloop或一个有效的委托或类似的东西 - 它已经工作*我只是通过网络发送和接收字符串.*我已经设置了一个有效的委托stream: handleEvent:正确(区分收到的事件并采取适当的行动).我不确定接收代码是否100%正确,因为我有时会收到两次消息.这也可能是我正在与之通信的设备上的错误实现.为了弄清楚它是最后一个指向哪一个,我试图找出当我收到"NSStreamEventHasBytesAvailable"事件时接收缓冲区上有多少字节.由于我不确定我的实现是否正确,但我想知道我收到的实际字节数,我想使用getBuffer: length:并查看之后的长度.奇怪的是:长度永远不会在控制台上打印出来
[((NSInputStream *) stream) getBuffer: &buf length: &numBytes]总是评估为FALSE.无论如何,代码的一部分之后正常工作,在缓冲区中接收消息并正确转发 - 工作正常.问题仍然存在:为什么不起作用getBuffer: length:?感兴趣的代码在这里:
`case NSStreamEventHasBytesAvailable:{
uint8_t *buf;
unsigned int numBytes;
if ([((NSInputStream *) stream) getBuffer: &buf length: &numBytes]) {
NSLog(@"\t\tBytes in the buffer: %i", &numBytes);
}
uint8_t buffer[BUFFER_SIZE];
int len = [((NSInputStream *) stream) read: buffer
maxLength: BUFFER_SIZE];
NSLog(@"\tread: %i bytes", len);
/*
if len > 0: len is equal to the …Run Code Online (Sandbox Code Playgroud) 我正在开发一个记录声音的应用程序.此外,我希望用户能够用自己的声音评论某些情况.我认为配置一个音频会话并创建两个具有不同文件URL的AVAudioRecorder实例就足够了.但这不起作用,第二个录音机确实创建了它的音频文件,但它没有录制任何声音.
有谁知道如何实现两个实际在一台设备上工作的AVAudioRecorder实例?
仅使用一个AVAudioRecorder进行录制,但使用两者都不起作用.
我有一个解决方法,但这是我想要避免的一堆代码......
谢谢!
我想在iPhone上创建一个后台线程,每10毫秒执行一些代码.但在我再次迷失在并发编程指南和苹果的线程编程指南之前,我想问一下这里是否有人可以帮助我.我想做的事:
在我的理解中NSThread,在子类中继承和编写我自己的main方法应该可以解决问题.这样我不会使用NSTimer更新间隔,但类似于:
[NSThread sleepForTimeInterval: 0.01];
Run Code Online (Sandbox Code Playgroud)
主线程和工作线程之间的排队机制也没有任何意义,因为工作线程应该反复执行相同的操作 - 直到停止.
问题是:如何配置线程使用计时器?我看不出我怎么能附加一个NSTimer工作线程Run Loop?
如何增加我的应用程序可以使用的可用内存(更具体:RAM的一部分)?我不是指iphone硬盘上的可用空间,而是指RAM.
有没有人知道是否有办法只为我的应用程序使用RAM的整个免费部分?
我必须清楚一点,对不起,如果它太模糊了:
我不得不考虑java堆大小,可以通过在java编程的启动命令中添加一个参数来增加它.我不知道,但目前在iphone上假设类似的事情发生(每个应用程序只有xxMB RAM执行)这个值可能是可调的,所以我可以使用整个剩余的RAM为我的应用程序.这几乎是我需要的特殊应用程序(非app-store-publication;文件大小在50MB到几个100MB之间)
objective-c ×6
iphone ×3
dealloc ×1
doxygen ×1
heap ×1
ios ×1
network-scan ×1
ram ×1
wifi ×1
xcode ×1