我实际上没有看到我的错误:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
FriendTableViewCell *cell = (FriendTableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[FriendTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
[[NSBundle mainBundle] loadNibNamed:@"FriendTableViewCell" owner:self options:nil];
cell = friendCell;
}
cell.lblNickname.text = @"Tester";
return cell;
}
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?我检查了两次..但没有看到错误.
谢谢你的帮助!
我目前正在假设-performSelector:withObject:afterDelay:
不使用线程,但安排事件在以后的日期在当前线程上触发.它是否正确?
进一步来说:
- (void) methodCalledByButtonClick {
for (id obj in array) {
[self doSomethingWithObj:obj];
}
}
static BOOL isBad = NO;
- (void) doSomethingWithObj:(id)obj {
if (isBad) {
return;
}
if ([obj isBad]) {
isBad = YES;
[self performSelector:@selector(resetIsBad) withObject:nil afterDelay:0.1];
return;
}
//Do something with obj
}
- (void) resetIsBad {
isBad = NO;
}
Run Code Online (Sandbox Code Playgroud)
假设我们在主线程上运行,即使需要任意长的时间来完成,它是否保证-resetIsBad
在-methodCalledByButtonClick
返回之后才会被调用-methodCalledByButtonClick
?
标准的分组UITableView
样式允许UITableViewCell
在每个部分的顶部和底部绘制带圆角的s.这是如何完成的?细胞如何在其部分内知道自己的位置,以及它如何知道何时更改其圆形边缘?
我想制作自己的圆形单元格,并且我有要使用的图像,但不知道何时显示哪个图像
注意:我已经知道UITableView是如何工作的,我知道如何使用它.我只是认为,因为UITableView能够在正确的位置自动绘制圆角,所以我也应该能够,无需向我的数据源或委托添加任何内容.
我有几个UIButton
用于在主区域中点击时设置当前操作的s.我还想让用户直接从按钮拖动到主区域并采取相同的动作; 实质上,touchesBegan和touchesMoved应该在触摸UIButtons时传递到主视图,但也应该发送按钮按下动作.
现在,我在内部修改控制.拖动出口调用内部部分设置控件,然后调用触摸开始部分启动主区域触摸操作.
但是,此时,touchesMoved和touchesEnded显然没有被调用,因为触摸起源于UIButton.
有没有办法半忽略触摸所以它们被传递到主区域,但也允许我先设置控件?
我有一个外部MySQL服务器,设置和工作正常.我在Eclipse中创建了一个数据库连接,可以在Data Source Explorer选项卡中查看数据库.
现在,我有一个需要访问该数据库的servlet.我该怎么做?有没有办法引用在数据源资源管理器中创建的数据库连接,还是我必须两次定义所有内容?
另外,打开连接的最佳方法是什么?我已经mysql-connector-java-5.1.11-bin.jar
包含了该文件,并且我发现了两种有效的方法:
MysqlDataSource d = new MysqlDataSource();
d.setUser("user");
d.setPassword("pass");
d.setServerName("hostname.com");
d.setDatabaseName("db");
Connection c = d.getConnection();
Run Code Online (Sandbox Code Playgroud)
和
Connection c = DriverManager.getConnection("jdbc:mysql://hostname.com/db","user","pass");
Run Code Online (Sandbox Code Playgroud)
两者都不是最佳的,因为首先,它们都使用硬编码的字符串.这是一个Java EE Web应用程序项目,是否有一个放置连接数据的好地方?或者有没有办法放弃所有这些并只使用数据源资源管理器中的连接?
如果我定义一些宏:
#define foo(args...) ({/*do something*/})
Run Code Online (Sandbox Code Playgroud)
有没有办法实际循环args
而不是传递给另一个函数?就像是
#define foo(args...) \
{ \
for (int i = 0; i < sizeof(args); ++i) { \
/*do something with args[i]*/ \
} \
}
Run Code Online (Sandbox Code Playgroud) 我有一个图形被绘制在一个UIScrollView
.它是一个UIView
使用自定义子类CATiledLayer
作为其层的大型.
当我放大和缩小时UIScrollView
,我希望图形动态调整大小,就像我从图表返回时一样viewForZoomingInScrollView
.但是,Graph在新的缩放级别重绘自己,我想将变换比例重置为1x1,以便下次用户缩放时,变换从当前视图开始.如果我将转换重置为Identity in scrollViewDidEndZooming
,它可以在模拟器中工作,但会EXC_BAD_ACCSES
在设备上抛出.
这甚至都没有在模拟器上完全解决问题,因为下次用户放大时,变换将自身重置为它所处的任何缩放级别,因此看起来,如果我缩放到2x,例如,它突然达到4倍.当我完成缩放时,它以正确的比例结束,但实际的缩放行为看起来很糟糕.
首先:如何让图形在缩放后以1x1的标准比例重绘自己,如何在整个过程中进行平滑缩放?
编辑:新发现错误似乎是" [CALayer retainCount]: message sent to deallocated instance
"
我自己永远不会释放任何图层.在此之前,我甚至没有删除任何观点或任何内容.在缩放和旋转时抛出此错误.如果我在旋转之前删除对象并在之后重新添加它,它不会抛出异常.这不是缩放的选项.
录音机不需要未压缩的线性PCM音频.压缩AMR
会很好.用于录制音频的iPhone框架非常简单,但我找到的用于设置音频格式(来自Apple)的唯一示例使用LinearPCM.我已经尝试了各种其他值的组合,但似乎无法获得任何工作.
有人有任何实际记录的代码AMR
吗?
编辑: AMR格式是设置数据类型的选项之一,但其他选项(数据包大小,帧大小等)似乎不匹配,无论我将它们设置为什么.
编辑:这是我对PCM版本的看法:
/*
If we want to use AMR instead of PCM:
AMR Format:
Sampling Frequency: 8 kHz/13-bit (160 samples for 20 ms frames), filtered to 200-3400 Hz
eight source codecs : 12.2, 1.2, 7.95, 7.40, 6.70, 5.90, 5.15, 4.75 kbit/s
generated frame length: 244, 204, 159, 148, 134, 118, 103, 95 bits per frame
*/
format->mFormatID = kAudioFormatLinearPCM;
format->mSampleRate = 8000.0; //8 kHz
format->mFramesPerPacket = 1; //1 frame per packet
format->mChannelsPerFrame …
Run Code Online (Sandbox Code Playgroud) 当iPhone OS的3.2 beta首次出现时,Xcode for 3.2必须与3.1.2的版本并排安装.我在/ Developer中安装了新版本(3.2)并将3.1.2移动到/Xcode3.1.2.现在我想摆脱旧版本,只使用新版本,因为我们现在可以做到这一点.
我在/Xcode3.1.2/Library/uninstall-devtools和uninstall-developer-folder上运行了卸载工具,但该目录仍然存在并且还有很多东西,最多可添加5 GB.在这一点上,我是否安全删除文件夹,如果我想完全摆脱它仍然使用/ Developer文件夹?
(大约8 GB,它有更多的内容,但我不确定这是因为它更大还是因为旧的版本是8 GB我运行卸载工具之前)?
这看起来很简单:我想在SQLite表中复制一行:
INSERT INTO table SELECT * FROM table WHERE rowId=5;
Run Code Online (Sandbox Code Playgroud)
如果没有明确的唯一列声明,则该语句将起作用,但声明了表的第一列rowID INTEGER NOT NULL PRIMARY KEY
.是否有任何方法可以创建一个简单的语句,如上所述,在不知道表的模式的情况下工作(除了第一列)?
iphone ×7
cocoa-touch ×3
ios ×2
uitableview ×2
amr ×1
c ×1
core-audio ×1
datasource ×1
jdbc ×1
macros ×1
objective-c ×1
servlets ×1
sql ×1
sqlite ×1
tomcat ×1
uiscrollview ×1
xcode ×1
zooming ×1