小编diz*_*izy的帖子

在switch语句中声明变量

我看到了这个问题的一些答案,我明白了 - 你不能在一个内部声明和分配变量switch.但我想知道以下是否正确抛出错误说

错误:'int'之前的预期表达式

码:

switch (i) {
    case 0:
        int j = 1;
        break;
}
Run Code Online (Sandbox Code Playgroud)

为什么NSLog()在它之前拨打电话会导致没有错误?

switch (i) {
    case 0:
        NSLog(@"wtf");
        int j = 1;
        break;
}
Run Code Online (Sandbox Code Playgroud)

c variables declaration objective-c switch-statement

114
推荐指数
2
解决办法
3万
查看次数

如何在Objective-C中扩展协议/委托

如果我想扩展像AVAudioPlayer这样的类,那么最好的方法是向AVAudioPlayerDelegate添加另一个方法吗?我是否为它做了一个类别,我是否扩展它?如果我扩展它,那么我还必须确保覆盖实际的委托getter/setter吗?我该如何扩展协议?以下是我的错误



@protocol AudioTrackDelegate : AVAudioPlayerDelegate {
    - (void)foo;
}
@end

@interface AudioTrack : AVAudioPlayer {
}
@end
Run Code Online (Sandbox Code Playgroud)

iphone objective-c

72
推荐指数
2
解决办法
4万
查看次数

UITextView禁用文本选择

我很难UITextView禁止选择文本.

我试过了:

canCancelContentTouches = YES;
Run Code Online (Sandbox Code Playgroud)

我尝试过子类化和覆盖:

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender   
Run Code Online (Sandbox Code Playgroud)

(但只有在选择后才会调用)

- (BOOL)touchesShouldCancelInContentView:(UIView *)view;  
Run Code Online (Sandbox Code Playgroud)

(我没有看到被解雇)

- (BOOL)touchesShouldBegin:(NSSet *)touches
                 withEvent:(UIEvent *)event
             inContentView:(UIView *)view; 
Run Code Online (Sandbox Code Playgroud)

(我也没有看到被解雇)

我错过了什么?

iphone objective-c uitextview ios

39
推荐指数
7
解决办法
4万
查看次数

如何将AVAudioPlayer输出到扬声器

我正在使用AVAudioRecorder录制音频,如我如何使用AVAudioRecorder在iPhone上录制音频?

然后我使用AVAudioPlayer播放录音.然而,声音是从耳机发出的,而不是扬声器.我如何将声音重定向到扬声器?

TIA!

iphone audio objective-c avaudioplayer avaudiorecorder

27
推荐指数
6
解决办法
3万
查看次数

方法在iPhone设备上Swizzle

我尝试了JRSwizzle和MethodSwizzle.他们在模拟器上编译得很好,但是当我尝试编译Device(3.x)时会抛出一堆错误

有没有人在iPhone上乱跑?什么诀窍?

TIA

iphone objective-c swizzling

25
推荐指数
1
解决办法
2万
查看次数

iphone错误:在''foo'之前预期'=',',',';','asm'或'__attribute__'

我正在尝试将speakhere示例移植到另一个应用程序中,我遇到了问题.我复制了所有文件和所有框架,但由于某种原因,我得到了一堆我从未见过的编译错误,因此不知道该怎么做.唯一的区别是我没有起诉IB,所以我不得不稍微改变它.

什么 error: expected '=', ',', ';', 'asm' or '__attribute__' before 'foo'意思?...我为不同的文件多次出现此错误

在我的情况的第一个错误是指向"MeterTable" ..包括类<stdlib.h>,<stdio.h><math.h>.但这些文件似乎导入正常(如果我删除它我得到更多的错误)

关于如何调试这个的任何建议?

TIA!

编辑:我似乎仍然无法弄明白.我只是将文件从示例复制到另一个项目中.有人可以看看吗? SpeakHerePort.zip 和原来的SpeakHere.zip

iphone objective-c

20
推荐指数
1
解决办法
3万
查看次数

UITableView帧高度动画故障

如果我尝试设置a tableView(ex :)的帧高度的height -= 200动画,则在帧的平滑动画完成之前,最后200px中出现的单元格会突然消失.

为了确保我正在做的其他事情,我创建了一个新的基于视图的应用程序.在主要的viewController我创建我自己tableview足以pseudo rows填满整个屏幕.在选择一行时,我会做一个简单的高度动画.

最相关的代码:

- (void)viewDidLoad {
    [super viewDidLoad];
    self.myTable = [[[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)] autorelease];
    myTable.delegate = self;
    myTable.dataSource = self;
    [self.view addSubview:myTable];
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    CGRect frame = self.myTable.frame;
    frame.size.height = 200;
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
    [UIView setAnimationDelay:.5f];
    [UIView setAnimationDuration:0.5f];
    self.myTable.frame = frame;
    [UIView commitAnimations];
}
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么会这样,或者修复/解决方法可能是什么?

任何建议真的很感激.TIA!

iphone objective-c uitableview

18
推荐指数
3
解决办法
6938
查看次数

在iphone上渲染波形

我想知道是否有人对如何渲染音频文件的波形有任何建议.我想让用户设置音轨的入点和出点,我需要有一个波形,这样你就可以看到放点的位置.

是否有可用于此的库或是否需要完全自定义的解决方案?

它甚至被称为波形?也许有一个更好的词,所以我可以做更多的搜索.

TIA!

iphone audio waveform

16
推荐指数
1
解决办法
1万
查看次数

Receiver'ClassName'是一个转发类,对应的@interface可能不存在

我目前正试图UIPickerTable在UIPickerView.subviews中找到...所以我循环并做isKindOfClass:[UIPickerTable class]....有效..但因为UIPickerTable的标头没有暴露我收到警告"接收器'UIPickerTable'是一个转发类和相应的@interface可能不存在'

为了甚至能够编译我做@class UIPickerTable,显然它想要我#include它.

我想知道是否有办法绕过这个警告.

TIA!

iphone objective-c

13
推荐指数
2
解决办法
2万
查看次数

UITouch移动速度检测

我试图检测触摸运动的速度,我并不总是得到我期望的结果.(补充说:速度太快了)如果我正在做一些时髦或建议更好的方法,有人能发现吗?


- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
    self.previousTimestamp = event.timestamp;
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
    UITouch *touch = [touches anyObject];
    CGPoint location = [touch locationInView:self.view];
    CGPoint prevLocation = [touch previousLocationInView:self.view];
    CGFloat distanceFromPrevious = distanceBetweenPoints(location,prevLocation);
    NSTimeInterval timeSincePrevious = event.timestamp - self.previousTimestamp;
    CGFloat speed = distanceFromPrevious/timeSincePrevious;
    self.previousTimestamp = event.timestamp;
    NSLog(@"dist %f | time %f | speed %f",distanceFromPrevious, timeSincePrevious, speed);

}

Run Code Online (Sandbox Code Playgroud)

iphone objective-c

11
推荐指数
1
解决办法
8682
查看次数