小编Thr*_*dyn的帖子

通过NSTimer UserInfo传递数据

我正在尝试通过userInfo传递数据以进行NSTimer调用.做这个的最好方式是什么?我正在尝试使用NSDictionary,当我有Objective-C对象时,这很简单,但其他数据呢?我想做这样的事情,它不能正常工作:

- (void)play:(SystemSoundID)sound target:(id)target callbackSelector:(SEL)selector
{
    NSLog(@"pause ipod");
    [iPodController pause];
    theSound = sound;

    NSMutableDictionary *cb = [[NSMutableDictionary alloc] init];
    [cb setObject:(id)&sound forKey:@"sound"];
    [cb setObject:target forKey:@"target"];
    [cb setObject:(id)&selector forKey:@"selector"];

    [NSTimer scheduledTimerWithTimeInterval:0
                                     target:self
                                   selector:@selector(notifyPause1:)
                                   userInfo:(id)cb
                                    repeats:NO];
}
Run Code Online (Sandbox Code Playgroud)

iphone objective-c nstimer

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

来自NSDate的NSNumber

我试图绕过一个日期验证,拒绝接受明天之前的任何事情.
到目前为止我有这个:

NSDate *dateY = [NSDate dateWithTimeIntervalSinceNow:-86400];
                // Negative one day, in seconds (-60*60*24)
NSLog(@"%@", [NSDate date]);
    // "yyyy-MM-dd HH:mm:ss Z", accurate assuming Z = +0000
NSLog(@"%@", dateY);
    // "yyyy-MM-dd HH:mm:ss Z", same accuracy (minus one day)
Run Code Online (Sandbox Code Playgroud)

这很好,但dateY不是NSNumber.我需要一个NSNumber比较,但我找不到任何有用的东西.(我甚至不知道怎么的NSNumber可以2011-04-14 13:22:29 +0000,反正...)

我可以NSDateFormatter用来将一个转换NSDate为一个NSString,所以如果有可能取出那个字符串并将其转换为所需的NSNumber(而不是直接转换NSDate为一个NSNumber,我似乎无法找到帮助),那就是没事的.


- (BOOL)validateDueDate:(id *)ioValue error:(NSError **)outError {
    NSDate *dateY = [NSDate dateWithTimeIntervalSinceNow:-86400];
    NSNumber *tis1970 = [NSNumber numberWithDouble:[dateY timeIntervalSince1970]]; …
Run Code Online (Sandbox Code Playgroud)

xcode objective-c nsdate nsnumber

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

根据每个细分中的标题更改分段控件的宽度?

从这样开始,我喜欢:
Screenshot1.png

但后来我添加了一个段,这发生了:
Screenshot2.png 宽度在IB中设置,而不是在代码中.

我只需要一种动态计算宽度的方法.最后,它会做这样的事情:

control.width = (labelWidths + marginWidths);
// where marginWidths = (marginWidth * control.numberOfSegments)
Run Code Online (Sandbox Code Playgroud)

user-interface objective-c width uisegmentedcontrol ios

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

从另一个应用程序控制iPod?

我看了一下Apple的AddMusic示例代码,但这不是我想要的.我正试图找到一种方法来启动/停止在iPod应用程序中播放音乐,而不是控制应用程序沙箱中包含的内容.

像这样......

 ____________
|            |
| |<  ||  >| |    skip back, play/pause, skip forward
|            |
|  XXXXXXXX  |    album art
|  XXXXXXXX  |
|  XXXXXXXX  |
|  XXXXXXXX  |
|            |
|____________|
Run Code Online (Sandbox Code Playgroud)

当然应用程序比这更复杂,但是现在,我想专注于假设直接控制.
奖励指向任何获取参考而不作弊的人.


- 图稿加载错误转移到一个新问题.

- 文本到语音的实现转移到了一个新问题.

- 歌曲开始后,进度条的填充率为100%.此代码有效:

// your must register for notifications to use them
- (void)handleNowPlayingItemChanged:(id)notification {
    …
    // this is what I forgot to do
    NSNumber *duration = [item valueForProperty:MPMediaItemPropertyPlaybackDuration];
    float totalTime …
Run Code Online (Sandbox Code Playgroud)

iphone ipod objective-c media-player

9
推荐指数
1
解决办法
561
查看次数

dequeueReusableCellWithIdentifier使用storyboard静态单元格返回nil

我对此感到很沮丧.使用storyboard,我创建了一个带有静态单元格的表格视图控制器,该静态单元格包含允许用户输入的UITextField.用户完成后,我想检索文本字段的内容.

这是我做的:

  • 创建了一个UITableViewCellnamed 的子类SingleLineFieldTableViewCell
  • 添加IBOutlet UITextField *textField;到子类并将其声明为属性(非原子,保留)并合成它.
  • 添加IBOutlet SingleLineFieldTableViewCell *cellNamed;到拥有表视图控制器,并将其声明为属性(非原子,保留)并合成它.

  • 在storyboard中,我有一个带有静态单元格的表视图控制器.其中一个单元格是自定义单元格,它被声明为SingleLineFieldTableViewCell拥有一个UITextField.它还被分配了一个小区标识符.

  • 我将表格视图单元格和文本字段的引用附加到上面列出的相应IBOutlet.

当我跑,dequeueReusableCellWithIdentifier回来nil.我认为使用Xcode 4和故事板,dequeueReusableCellWithIdentifier根据转换为故事板发行说明,"该dequeueReusableCellWithIdentifier:方法保证返回一个单元格(假设您已经定义了具有给定标识符的单元格)".

奇怪的是,当我在Simulatior中运行时,表格按预期显示(部分,单元格大小等),除了我无法编辑自定义单元格.

我不知所措.任何帮助或想法?

- 约翰

iphone xcode storyboard uitableview ios

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

popViewControllerAnimated:自定义过渡动画?

是的,我已经找到了答案.除了没有提供淡入淡出过渡选项,只有翻转或卷曲的解决方案之外,这些解决方案都不起作用.

像这样:

methodname
    configure animation
    [self.navigationController popViewControllerAnimated:NO];
Run Code Online (Sandbox Code Playgroud)

无论我尝试什么样的过渡动画配置,没有什么明显不同于仅使用典型的单行流行音乐.如果我改成它…Animated:YES];,我会得到标准的流行动画,也许是从破坏的配置中发生了一些奇怪的事情.

所以我的问题是这样的:pop如果不是CrossDissolve,那我怎么能用,然后至少看起来相同的东西呢?甚至可以使用导航控制器吗?

使用模态视图将具有我想要的默认动画,并且我可以轻松地管理视图堆栈,但我不想这样做.

xcode animation transition uinavigationcontroller

7
推荐指数
1
解决办法
7919
查看次数

iPhone上的文字转语音

实现与AppleScript类似的东西有多难say "words"
也就是说,它只是一个二进制链接和一个导入,还是一个像libxml实现一样凌乱的东西?

编辑:我的回答解决了这个问题.


  • Acapela
    • 一个严肃的ripoff
    • SDK为250欧元,而且不包括更新
  • 伊沃娜
    • 网站不会与其他网站一起展示iOS版本
    • 没兴趣
  • VoiceText
    • 网站很难看,难以浏览
    • 没兴趣
  • OpenEars
    • 开源,一定要加
    • 到目前为止,我听说过最好的离线TTS.
  • 弗莱特
    • 超低质量,不值得使用
    • 糟透了.OE改进了很多.
  • 谷歌TTS
    • 很好,但需要网络连接
    • 不理想

iphone cocoa-touch objective-c text-to-speech

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

Xcode Storyboard是否应该支持带有"动态原型"单元格的UITableView的段落?

我不能让这个工作.如果我删除主UITableView以使用静态单元格我可以使segue工作,这样当你点击master中的一行时它会自动按下Child控制器.但是使用"动态原型"单元格,我点击其中一个单元格,没有任何反应......

我应该以编程方式在子prepareForSegue方法中推送子控制器吗?在这种情况下,我不确定这里的segue对于刚刚使用的旧方式有什么好处

iphone xcode storyboard ios xcode4.2

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

presentViewController - 查看纯黑色,未调用viewDid___方法

    ...
    SecondViewController *svc = [SecondViewController new];
    [self presentViewController:svc animated:YES completion:NULL];
}
Run Code Online (Sandbox Code Playgroud)

这段代码与我在另一个应用程序中使用的代码完全相同,但在这里我使用presentViewController而不是presentModalViewController
(completion:NULL使它们实际上相同.至少相同的结果.)

创建模态视图的两种尝试都以相同的方式构建.主视图中的那些行,Storyboard中的视图控制器以及匹配.h.m文件.唯一的区别是,在这里我想要一个程序化的触发器,因此不可能拖动一个segue并完成它.
我有一个对象设置来识别手势并调用转换方法.这可能是造成问题的原因(至少是其中的一部分),但这是必要的.

使用UIButton会作弊.没有截止日期,没有捷径.

编辑: NSLog输出显示奇怪的东西.

2012-04-05 10:41:12.047 MyApp[5962:707] <SecondViewController: 0x1d8c130>
2012-04-05 10:41:12.479 MyApp[5962:707] <SecondViewController: 0x1d8e360>

所以我再做一些愚蠢的事情,碰巧有一个非常简单的修复,对吧?
再次编辑:presentViewController…不止一次被调用.固定它.不过还是黑的.


回到performSegueWithIdentifier:sender:而不是更容易presentViewController:animated:completion:

由于未捕获的异常"NSInvalidArgumentException"而终止应用程序,原因:'Receiver ...没有带标识符的segue ......'

我告诉它要执行一个segue,但是在Storyboard中没有一个(我不能添加一个,'Connections inspector'下面没有Storyboard Segues部分,我试图使用的对象),所以它崩溃了.这是正常行为.

我想要的是有一个模态视图而不需要创建一个segue.我已经完成了,所以我知道这是可能的.
我所需要的只是帮助它发挥作用.

.

performSegueWithIdentifier:@"Identifier" sender:nil NSSInvalidArgumentException
presentViewController:viewController animated:YES completion:NULL 空视图

xcode objective-c modalviewcontroller

5
推荐指数
1
解决办法
4769
查看次数

错误:libxml/parser.h:没有这样的文件或目录

我正在尝试使用XML(专业iPhone和iPad数据库应用程序编程中的第10章),我遇到了一些麻烦.

Header Search PathsBuild Settings我有这样的路径:
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/usr/include/libxml2/

这一切都很好,但随后:

#import <libxml/parser.h>
#import <libxml/tree.h>
error: libxml/parser.h: No such file or directory
Run Code Online (Sandbox Code Playgroud)

如果我翻转进口:

#import <libxml/tree.h>
#import <libxml/parser.h>
error: libxml/tree.h: No such file or directory
Run Code Online (Sandbox Code Playgroud)

奇怪的.

现在我有这个:

#import <libxml/catalog.h> // Dirty hack
#import <libxml/parser.h>
#import <libxml/tree.h>
error: libxml/catalog.h: No such file or directory
Run Code Online (Sandbox Code Playgroud)

但这对于生产应用来说并不好.

xml xcode objective-c

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