小编mac*_*die的帖子

在SWIFT中接收推送通知后控制哪个视图控制器加载

一旦我收到推送通知并轻扫以打开它,它就会打开我的应用而不是我想要的VC.

所以我的问题是如何加载我想要的VC?我知道如果应用程序是打开的,我会将VC移到另一个内部,didReceiveRemoteNotification但如果应用程序未打开,我该怎么做?或者它是否处于后台模式?

此外,我有两个不同的推送通知,因此我需要它移动两个不同的VC中的一个.如何区分不同的推送通知?

谢谢.

push-notification apple-push-notifications appdelegate

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

如何在iOS中收听通知被驳回的事件?

我正在列出为我的本地通知按下的操作,但有没有办法确定用户何时解除通知?

这是我在AppDelegate中听我的动作的方式,但是解雇并没有解雇这个问题:

func application(application: UIApplication, handleActionWithIdentifier identifier: String?, forLocalNotification notification: UILocalNotification, completionHandler: () -> Void) {
        var actionName: String? = nil

        if let identifier = identifier {
            switch identifier {
                case "snoozeAction":
                    actionName = "snoozeActionTapped"
                    break
                default: break
            }

            if let name = actionName {
                NSNotificationCenter.defaultCenter().postNotificationName(name, object: nil)
            }
        }

        completionHandler()
    }
Run Code Online (Sandbox Code Playgroud)

apple-push-notifications ios uilocalnotification ios8

15
推荐指数
1
解决办法
2223
查看次数

将NSString UPPERCASE转换为Capitalized

我有一些像琴弦NAVJYOT COMPLEX,NEAR A ONE SCHOOL,SUBHASH CHOWK,MEMNAGAR,Ahmedabad,Gujarat,India.

我想将它们转换所以第一个字符是大写和剩下的都是小写的,如:Navjyot Complex,Near A One School,Subhash Chowk,Memnagar,Ahmedabad,Gujarat,India.所以请帮我转换这些字符串.

提前致谢.

iphone nsstring

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

两个数组之间的最小变化

我正在尝试在更新表的数据时仅应用最少量的更改(UITableView当然,这是一个iOS应用程序和表视图,但我不认为它在这里是相关的).这些更改包括添加新项目,删除旧项目以及将一些现有项目移动到其他位置而不更新其内容.我知道在SO上有类似的问题,但是大多数问题只考虑添加和删除,现有的要么被忽略要么只是重新加载.

大多数情况下,移动涉及的内容不超过现有元素,表格最多可包含500个元素.

数组中的项是唯一的.

我可以通过从旧数组中的项集合中减去新数组中的项集来轻松获取添加的项.相反的操作将产生一组已删除的项目.

所以问题归结为找到具有相同元素的两个数组之间的最小差异.

[one, two, three, four]
[one, three, four, two]
Run Code Online (Sandbox Code Playgroud)

区分这些数组应该导致从索引1到3的移动.

该算法不知道是否只有一个这样的移动.同样的变化可能是:

[one, two, three, four, five]
[one, four, five, three, two]
Run Code Online (Sandbox Code Playgroud)

这应该导致将索引1移动到4和2到3,而不是向左移动3和4两个索引,因为这可能导致移动300个项目,而实际上更改应该更简单.在将视觉变化应用于视图方面,即.这可能需要重新计算单元格高度或执行大量动画和其他相关操作.我想避免它们.作为示例 - 将项目标记为收藏,导致将项目移动到列表顶部或300项目大约需要400毫秒.这是因为我正在使用的算法,例如,100个项目向上移动一个索引,一个移动到索引0,其他199个未被触及.如果我取消标记它,一个项目会向下移动100个索引,这很好,但这是完美的,但非常罕见的情况.

我已经尝试在旧数组中查找项目索引,检查它是否在新数组中发生了变化.如果有变化我将项目从新索引移动到旧索引,记录相反的变化并比较数组,直到元素顺序相等.但这有时会导致移动实际上没有变化的大块物品,具体取决于这些物品的位置.

所以问题是:我该怎么办?

任何想法或指针?也许改进的Levenshtein距离算法?未经修改的人可以为此工作吗?如果是这样,我可能不得不以某种形式实现它.


橡皮鸭谈到:

考虑找到所有未更改的项目序列并移动所有其他项目.这可能是正确的方向吗?

arrays algorithm diff

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

默认按钮大小?

如何创建一个按钮控件(与CreateWindow一的BUTTON,有一个标准的全系统的尺寸(尤其是高度)与Windows应用程序的其余部分保持一致窗口类)?我当然应该考虑DPI,可能还有其他设置.

备注:使用USE_CW_DEFAULT宽度和高度会产生一个0,0大小的按钮,因此这不是解决方案.

winapi

8
推荐指数
2
解决办法
9698
查看次数

如何将一个按钮添加到紧凑的框架DataGrid?

是否可以为紧凑框架的DataGrid中的列添加按钮?到目前为止,我唯一能找到的是你可以添加文本框,就是这样.什么是可以允许其他控件的DataGrid的一个很好的替代品?

compact-framework windows-mobile

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

绘图没有闪烁

我有一个用c ++开发的win32应用程序.应用程序使用基本形状(矩形)在窗口上绘制一些东西.使用InvalidateRect每20ms(50hz)重新绘制窗口.一切都运作良好,但绘图闪烁.我怎样才能防止闪烁?在c#中我通常使用双缓冲组件(如pictureBox),我怎样才能在使用win32的c ++中摆脱这个?

c++ winapi drawing flicker

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

winmobile中带有文本字段的自定义对话框

我希望有一个简单的自定义对话框,如消息框,具有标签和TextBox.如果有一种简单的方法可以做到这一点,抱歉!我真的不太熟悉对话的东西.

谢谢你的帮助,伙计们!

c# smartphone windows-mobile

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

UITableView在滚动视图时停止更新内容?

我有一个UITableView,工作正常,更新很好.我也有一个计时器,更新每个UITableView的标签和进度视图,当用户滚动表查看停止更新/于UITableView中刷新内容(标签和进度视图),直到他们完成滚动.

除了没有更新的内容,我发现当用户滚动时整个应用程序挂起.我有两个计时器,我在两者中都放了print语句,但是在用户滚动时都没有打印.我无法找到一个迅速或迅速的解决方案.

uitableview nstimer ios

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

优化Google App Engine代码

Google应用引擎告诉我优化此代码.任何人有什么想法我能做什么?

def index(request):
    user = users.get_current_user()
    return base.views.render('XXX.html', 
                 dict(profiles=Profile.gql("").fetch(limit=100), user=user))
Run Code Online (Sandbox Code Playgroud)

后来我在模板中做了:

{% for profile in profiles %}
  <a href="/profile/{{profile.user.email}}/"><img src="{{profile.gravatarUrl}}"></a>
  <a href="/profile/{{profile.user.email}}/">{{ profile.user.nickname }}</a>
  <br/>{{ profile.shortDisplay }}
Run Code Online (Sandbox Code Playgroud)

使用的方法是:

def shortDisplay(self):
    return "%s/day; %s/week; %s days" % (self.maxPerDay, self.maxPerWeek, self.days)

def gravatarUrl(self):
    email = self.user.email().lower()
    default = "..."
    gravatar_url = "http://www.gravatar.com/avatar.php?"
    gravatar_url += urllib.urlencode({'gravatar_id':hashlib.md5(email).hexdigest(), 
        'default':default, 'size':"64"})
    return gravatar_url
Run Code Online (Sandbox Code Playgroud)

python optimization google-app-engine

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

在这里使用指针向量是不必要的还是更糟,导致内存泄漏?

我是一个相对较新的C++编程,但我是一个10年的C程序员,因此对指向对象的指针比对对象的引用更为舒服.

我正在写一个纸牌游戏 - 这个设计不安全吗?有没有更好的办法?

无论如何,我有一节课SolitaireGame:

class SolitaireGame:
{
    public:
        SolitaireGame( int numsuits = 1 );
    private:
        Deck * _deck;
        vector<Card> _shoe;
};
Run Code Online (Sandbox Code Playgroud)

Deck被这样定义:

class Deck:
{
public:
 Deck::Deck( vector<Card>& shoe );
 ~Deck();
 int DealsLeft() const { return deals_left; }
 Card * PullCard();
private:
 int deals_left;
 int num_each_deal;
 deque<Card *> _cards;
};
Run Code Online (Sandbox Code Playgroud)

Deck构造,花费的向量的参考Card对象(鞋,通常104卡)并按下指针到每个卡到它自己的指针的双端队列.

Deck::Deck( vector<Card>& shoe )
{
    vector<Card>::iterator iter = shoe.begin();

    while( iter != shoe.end() )
    {
        _cards.push_front( &(*iter) );
        iter++;
    } …
Run Code Online (Sandbox Code Playgroud)

c++ pointers vector

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