我正在研究将现有Windows MFC控件移植到OS X/Carbon的可行性.我的测试台是使用XCode 3向导生成的C++ Carbon应用程序.
我正在寻找一种快速方法将一些跟踪信息转储到调试器或OS X等效的DbgView.在Win32上我会使用OutputDebugString() - OS X上的交易是什么?有没有办法从Carbon应用程序查看写入std :: cout的测试?
谢谢
杰瑞
我正在开发一个核心数据应用程序(对于iPhone 3.0,虽然我认为这不会真正有所作为)并且它需要附带一个充满数据的"入门"数据库.使用SQLite,我只需让应用程序在首次启动时将填充的数据库从捆绑包复制到App的文档目录中,然后加载该数据库 - 所有信息都随之而来,我们准备好了.但是使用Core Data,我不确定我是否可以将Persistent存储保存到App包并在Core Data开始执行之前复制它.这会导致任何问题吗?有相当多的初始数据,所以我不想以其他格式打包它并且必须解析它.
((UIImageView*)[dsry objectAtIndex:0]).transform = CGAffineTransformMakeRotation(1.57*2);
((UIImageView*)[dsry objectAtIndex:0]).transform = CGAffineTransformMakeScale(.5,.5);
Run Code Online (Sandbox Code Playgroud)
其中只有一个是一次一个.如何保存转换然后应用另一个?干杯
我有一个函数,它获取一些位图数据并从中返回一个UIImage*.它看起来像这样:
UIImage * makeAnImage()
{
unsigned char * pixels = malloc(...);
// ...
CGDataProviderRef provider = CGDataProviderCreateWithData(NULL, pixels, pixelBufferSize, NULL);
CGImageRef imageRef = CGImageCreate(..., provider, ...);
UIImage * image = [[UIImage alloc] initWithCGImage:imageRef];
return [image autorelease];
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以确切地解释谁在这里拥有什么记忆?我想要正确清理,但我不确定如何安全地进行清理.文档在这些上是模糊的.如果free在创建UIImage之后我在此函数末尾的像素,然后使用UIImage,我崩溃了.如果我在创建UIImage之后释放提供者或imageRef,我没有看到崩溃,但他们显然已经完全传递了像素,所以我对释放这些中间状态感到不安.
(我知道每个CF文档我都需要在后者上调用release,因为它们来自Create函数,但是我可以在使用UIImage之前这样做吗?)大概我可以使用提供者的dealloc回调来清理像素缓冲区,还有什么?
谢谢!
我想在这里引用UIView"吸吮"过渡(视图被"吸"到一个点):
http://iphonedevwiki.net/index.php/UIViewAnimationState#Using_suckEffect
但是,上面的方法使用私有API,这使得App Store应用程序几乎无法使用.如何在不依赖私有API的情况下重新创建类似的效果?我猜测答案与OpenGL有关,虽然我没有经验.
我有一个可编辑的UITableView.我通过以下方式提交更改:
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
Run Code Online (Sandbox Code Playgroud)
在编辑模式下,我希望用户能够选择一行,这将推送一个新视图.我不知道该怎么做.我怀疑它会在:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
Run Code Online (Sandbox Code Playgroud)
但是如何确定用户是否处于编辑模式?
更新:编辑模式通过以下方式切换:
self.navigationItem.rightBarButtonItem = self.editButtonItem;
Run Code Online (Sandbox Code Playgroud) 我创建了一个单例类,我想创建一个类,它是这个单例类的子类,正确的方法是什么
我有一个包含形状的UIImage; 其余的是透明的.我想通过裁剪尽可能多的透明部分来获得另一个UIImage,仍保留所有非透明像素 - 类似于GIMP中的autocrop功能.我该怎么做呢?
我正在尝试为Mac编写一个简单的Cocoa App,其目的很简单:将我的戴尔显示器输入切换到另一个(这样我就可以在PC和MAC之间切换).我已经找到了一个Windows应用程序(由entechtaiwan执行mControl),他们解释了他们在那里做了什么:
"要通过软件切换输入,请使用VESA MCCS命令60h.要将该命令发送到监视器,您需要读取和写入连接到监视器的GPU I/O焊盘.同样在Mac上."
有谁知道如何从Cocoa应用程序发送这样的命令?也许这里有一个图书馆......难道不是很简单吗?
我是一名具有很少C/C++经验(并且没有培训)的Objective-C开发人员,今天我遇到了一些奇怪的硬编码数值.
我确定这是一个简单/愚蠢的问题,但有人可以解释为什么这样做:
NSDate *start = [NSDate date];
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, 1 * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^{
NSLog(@"seconds: %f", [start timeIntervalSinceNow]);
});
// output: seconds: -1.0001
Run Code Online (Sandbox Code Playgroud)
这也有效(注意秒数已经改变):
NSDate *start = [NSDate date];
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, 2 * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^{
NSLog(@"seconds: %f", [start timeIntervalSinceNow]);
});
// output: seconds: -2.0001
Run Code Online (Sandbox Code Playgroud)
但这是立即执行的:
NSDate *start = [NSDate date];
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, 4 * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^{
NSLog(@"seconds: %f", [start timeIntervalSinceNow]);
});
// output: seconds: -0.0001
Run Code Online (Sandbox Code Playgroud)
但是,使用4.0而不是4 …
iphone ×5
cocoa-touch ×4
cocoa ×3
objective-c ×3
uiimage ×2
uikit ×2
c ×1
c++ ×1
core-data ×1
gpu ×1
iokit ×1
ios ×1
macos ×1
macos-carbon ×1
quartz-2d ×1
singleton ×1
uitableview ×1
uiview ×1