小编Tom*_*eit的帖子

当iphone设备方向朝上/朝下时,我可以判断它是风景还是肖像?

我得到了这个代码,如果设备是横向左/右或倒置它旋转并显示另一个视图控制器.但如果它朝上或面朝下,那么如何判断它是横向模式还是纵向?因为我只想面朝上或朝下并以横向模式旋转

    - (void)viewDidAppear:(BOOL)animated
    {
        UIDeviceOrientation orientation = [[UIDevice currentDevice]orientation];
        NSLog(@"orientation %d", orientation);
        if ((orientation == 2) || (orientation == 3) || (orientation == 4))
        {

            [self performSegueWithIdentifier:@"DisplayLandscapeView" sender:self];
            isShowingLandscapeView = YES;
    }
}
Run Code Online (Sandbox Code Playgroud)

uiviewcontroller ios uideviceorientation

18
推荐指数
2
解决办法
7288
查看次数

这段代码如何在每三位数之前添加逗号?

帮助我理解这段代码的工作原理.它基本上将逗号添加到一串数字中.因此,如果用户键入1到3位数字,它将保持不变.对于四位数字,它会添加一个逗号

  • 1111变为1,111
  • 11111变为11,111
  • 111111111变成11,111,111

等等.这是代码:

private String addCommasToNumericString (String digits)
{
    String result = "";
    int len = digits.length();
    int nDigits = 0;

    for (int i = len - 1; i >= 0; i--)                      
    {
        result = digits.charAt(i) + result;                 
        nDigits++;                                          
        if (((nDigits % 3) == 0) && (i > 0))                
        {
            result = "," + result;
        }
    }
    return (result);
}
Run Code Online (Sandbox Code Playgroud)

I'll解释我理解的是

所述for环路基本上计数用户已写入到避免将逗号所述第一数量(例如,1111)之前的数目的长度.虽然i小于它减去的字符串的长度1.

result返回位置处的char i,因为它向下计数它会从右向左返回"相反"的字符.

nDigits0通过循环在每次迭代的初始值上加1 . …

java math

6
推荐指数
1
解决办法
5628
查看次数

Java:警告:应该参数化对泛型类型的引用

currentProfile.getFriends()method返回ArrayList上的Iterator.它按预期工作,但编译器在将其分配给另一个迭代器时给我一个友好的警告:iterator is a raw type. References to generic type Iterator <E> should be parameterized

我很少或根本不知道这意味着什么,关心开导我?如果我的描述不够清楚,这就是我在做的事情Iterator friendList = currentProfile.getFriends();

java iterator

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

AVAudioPlayer在iOS设备上运行,在模拟器中崩溃.我应该担心吗?

我不知道问题的原因是什么,玩家试图播放它崩溃的测试音频文件的那一刻,但只在模拟器中.在真实设备上运行正常.如果你想看看,我已经粘贴了下面的代码,包括它给我的小调试信息...如果我找不到这个崩溃的起源,它会通过Apple的QA程序,只要它运行良好在设备本身?

在此输入图像描述

可能这可能是 - >未知类是问题?

[p play]在这种方法中崩溃:

-(void)startPlaybackForPlayer:(AVAudioPlayer*)p
{

    if ([p play])
    {
        [self updateViewForPlayerState:p];
    }
    else
        NSLog(@"Could not play %@\n", p.url);
}
Run Code Online (Sandbox Code Playgroud)

-

 #import "AudioPlayerViewController.h"

@interface AudioPlayerViewController ()
{
    //AVAudioPlayer *player;
}
@property (nonatomic,strong) AVAudioPlayer *player;

@end

@implementation AudioPlayerViewController



-(void)updateCurrentTimeForPlayer:(AVAudioPlayer *)p
{
    self.currentTime.text = [NSString stringWithFormat:@"%d:%02d", (int)p.currentTime / 60, (int)p.currentTime % 60, nil];
    self.progressBar.value = p.currentTime;
}

- (void)updateCurrentTime
{
    [self updateCurrentTimeForPlayer:self.player];
}

- (void)updateViewForPlayerState:(AVAudioPlayer *)p
{
    [self updateCurrentTimeForPlayer:p];

    if (self.updateTimer)
        [self.updateTimer invalidate];

    if (p.playing)
    {
        [self.playButton setImage:((p.playing …
Run Code Online (Sandbox Code Playgroud)

avaudioplayer ios

6
推荐指数
1
解决办法
1460
查看次数

Fibonacci序列的递归

我需要一些帮助来理解这里发生的处理,所以fib(5)我想我称我想要斐腾纳奇5,这是8.但是我试图理解算法的大脑说它不是.这就是我(错误地)思考的方式:

return fib(4) + fib(3) // Stack frame 1
return fib(3) + fib(1) // Stack frame 2
Run Code Online (Sandbox Code Playgroud)

现在因为x是1 fib(1),条件语句if x == 0 or x == 1:导致递归结束.根据我的逻辑,将成为3 + 1 + 4 + 3.请纠正我错误的逻辑.

def fib(x):
    """assumes x an int >= 0
       returns Fibonacci of x"""
    assert type(x) == int and x >= 0
    if x == 0 or x == 1:
        return 1
    else:
        return fib(x-1) + fib(x-2)
Run Code Online (Sandbox Code Playgroud)

python recursion fibonacci

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

iOS:从iPod库获取和显示专辑封面

我想从iPod库中的有声读物中获取专辑封面,但我不明白如何使用 MPMediaItemPropertyArtwork

- (NSArray *)audiobooks
{
    MPMediaPropertyPredicate *abPredicate =
    [MPMediaPropertyPredicate predicateWithValue:[NSNumber numberWithInt:MPMediaTypeAudioBook]
                                     forProperty:MPMediaItemPropertyMediaType];

    MPMediaQuery *abQuery = [[MPMediaQuery alloc] init];
    [abQuery addFilterPredicate:abPredicate];
    [abQuery setGroupingType:MPMediaGroupingAlbum];
    NSArray *books = [abQuery collections];
    return books;
}

- (MPMediaItem *)mediaItemForRow: (NSInteger)row
{
    NSArray *audiobooks = self.audiobooks;
    MPMediaItem *mediaItem = nil;

    for (id object in audiobooks) {
        if ([object isKindOfClass:[MPMediaItemCollection class]]) {
            MPMediaItemCollection *book = (MPMediaItemCollection *)object;

            id item = [book items][row];
            if ([item isKindOfClass:[MPMediaItem class]]) {
                mediaItem = (MPMediaItem *)item;

            }
        }
    }
    return mediaItem;
} …
Run Code Online (Sandbox Code Playgroud)

mpmediaitem ios

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

UIActivityViewController旋转问题

我遇到了UIActivityViewController的问题,每次用户按下"共享"按钮时我都会实例化一个新实例,但它不能正常旋转.我的代码缺少必要的东西吗?

当我只旋转状态栏并且UIActivityViewController将旋转(而不是后台中的视图)时,有时activityView的大小也会出错.

    UIActivityViewController *activityVC;
    // Init sharing items and View Controller
    NSString *message = [NSString stringWithFormat:@""];

    UIImage *imageToShare = [UIImage imageNamed:@"imageName"];
    NSArray *postItems = @[message, imageToShare];

    activityVC = [[UIActivityViewController alloc]
                   initWithActivityItems:postItems
                   applicationActivities:nil];


    [self presentViewController:activityVC animated:YES completion:^() {
        [activityVC setCompletionHandler:^(NSString *activityType, BOOL completed) {
            // Completed
        }];
    }];
Run Code Online (Sandbox Code Playgroud)

uiviewcontroller ios uiactivityviewcontroller

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

Objective-C:不应将getters用于副作用编译器警告

有人可以澄清这里发生的事情.我得到了一个名为:brainModel的类,它又有一个名为:operandStack的NSArray.我只是访问数组发送消息"removeAllObjects"

self.brainModel.operandStack.removeAllObjects;
Run Code Online (Sandbox Code Playgroud)

但是使用点符号它会给我一个警告"未使用属性访问结果 - 不应该使用getter来产生副作用"这究竟是什么意思?

使用这样的嵌套括号语法不会发出警告:

 [[[self brainModel]operandStack]removeAllObjects];
Run Code Online (Sandbox Code Playgroud)

这两个工作顺便说一句......它是否与错误使用点符号有关?或者在传递像这样的消息对象时使用点表示法被认为是一种好习惯 - 发送像"removeAllObjects"这样的参数.

methods objective-c notation nsarray

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

是什么导致Java(冰雹序列)在我的程序中崩溃

我做了一个程序来执行(通常称为)冰雹序列,该程序基本上是这样做的:

创建一个int(值)并为其赋值.

如果int是偶数,则除以2.

如果int是奇数,则将其乘以3并加1.继续此过程,直到n等于1.

它似乎与大多数数字一起工作正常,但这个数字99888769,应用程序挂起一个负整数.这是为什么?他们说没有人能够证明它停止了,我没想到我已经解决了这个问题.但知道为什么我的应用程序停止会很有趣. -

    private void hailStoneSequence(){
    int value = 99888769;
    int i = 0;
    boolean trueOrFalse = isOddOrEven (value);
    while (value != 1){
        while (trueOrFalse == true && value != 1){
            i++;
            int previousValue = value;
            value = value / 2;
            println( previousValue +" is even, so I take half: "+value);
            trueOrFalse = isOddOrEven (value); // returning true or false, and inserting the newly divided number. So that it breaks loop when nescesary.
        }
            while …
Run Code Online (Sandbox Code Playgroud)

java math integer sequence

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

使TableView只占用屏幕的一部分

默认情况下,当我在IB中拖出一个TableViewController时,tableview会占用所有屏幕,即使用户滚动tableview,也无法添加一个保持原位的UIView(如果我说添加带有一些按钮的UIView,那么当我滚动桌面视图时,UIView也会滚动.)

我的程序使用UITableViewController子类来控制tableview,即使用户滚动,顶部栏保持静态的最简单方法是什么?

interface-builder uitableview uiview ios

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