ARTS Week 3

https://savvyapps.com/uploads/blog/_1920xAUTO_crop_center-center_82_none/2015.06__Auto_Renewable_Subscriptions.jpg

Algorithm: NO.237 Delete Node in a Linked List

Write a function to delete a node (except the tail) in a singly linked list, given only access to that node.

Given linked list -- head = [4,5,1,9], which looks like following:

https://assets.leetcode.com/uploads/2018/12/28/237_example.png

Example 1:

Input: head = [4,5,1,9], node = 5
Output: [4,1,9]
Explanation: You are given the second node with value 5, the linked list should become 4 -> 1 -> 9 after calling your function.

Example 2:

Input: head = [4,5,1,9], node = 1
Output: [4,5,9]
Explanation: You are given the third node with value 1, the linked list should become 4 -> 5 -> 9 after calling your function.

Note:

  • The linked list will have at least two elements.
  • All of the nodes' values will be unique.
  • The given node will not be the tail and it will always be a valid node of the linked list.
  • Do not return anything from your function.

    解答:
    这道题比较巧妙的地方就在于函数只被传入一个参数, 且传入的就是要被删除node, 所以需要转化下思路.
/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public void deleteNode(ListNode node) {
        node.val = node.next.val;
        node.next = node.next.next;
    }
}

Review Getting Started with Auto-renewable Subscriptions in iOS

自动续订订阅是iOS IAP体系内的一个分支, 它允许app在一定时间内提供内容或功能并对其收费. 这种类型的内购产品类型将超越IAP中的对于消耗品和非消耗品的一次性消费和低频消费的购买模式所产生的经济效益, 并以此来扩展app的潜在收益. 通过之前为自己的多个app实现过几次, 我们注意到他们无法满足你对苹果的期望, 在基于订阅体系的app模式, 他们无法提供足够完成和有效的解决方案.

使用自动续订订阅的标准

使用自动续订订阅的app可以在规定时间内(例如,每月,每年等等)收取长期费用. 自动续订订阅与IAP体系中其他不能提供带有时间性质的产品所不同. 它们提供了额外的好处, 即无需进一步干预即可为用户收取订阅费用.

https://savvyapps.com/wp-content/uploads/2015/06/Screen-Shot-2015-06-11-at-1.14.37-PM.png

Apple将其不同类型的应用内购买成为"产品". 有关其应用内购买产品(消耗性, 非消耗性和自动续订订阅)之间的基本差异, 请考虑这些示例. 一个消耗性的的产品,可能是游戏app中一个小时的经验提升的增益效果. 另一方面, 一个非消耗性产品可以是采取解锁主题的形式展示, 因为它可能在以后再次恢复.
从历史角度来看, 如果报刊应用程序和出版物只是下发基础性的内容而不是提供额外的功能的访问, 那么苹果会限制这类产品使用自动续订订阅系统. 这在iTunes Connect中的自动续订订阅的设置(例如需要提供一个"publication"名称)过程中仍然很明显. 这些年来, Apple放宽了这一限制, 并允许非报停应用程序加入自动续订订阅的潮流. 自动续订订阅现在更多的是用于生产力和业务应用的程序中. 例如, 在任务管理app Omnifocus中, 如果用户已经超期了14天的免费使用, 那么便会向用户收取双层订阅费用. 甚至像一款 脑力开发的app Lumosity, 提供一个免费的基本会员资格, 并使用自动续订订阅来解锁高级功能. 这个app同时也提供独立或者朋友和家庭订阅计划.

创建一个自动续订订阅

创建自动续订订阅的第一步与创建其他IAP产品并没有多少不同. 你会遇到的主要的不同就是你需要配置商品的自动续订周期时间(如 按月, 按年 等)和提供免费试用. 与此同时, 免费试用是回被限制在很少几个的时间段里, 并且它并不是动态的. 如果你想要要求超出选项提供的免费周期时间或者你想要提供不同的试用等级, 那么非常推荐你忽略这些选项并且手动处理. 当用户同意提供他们的详细信息(名字, 邮箱, 地址)时, 开发者也可以提供免费试用时间.

Tips

如果在UIScrollview中使用Autolayout对其子控件进行布局时, 需要注意以下两点:
1. ScrollView内部子控件的尺寸不能以scrollView的尺寸为参照
2. ScrollView内部的子控件的约束必须完整

首先,子控件的尺寸不能以ScrollView的尺寸为参照,那么我们有两种选择:

提供一个具体值的约束(比如200)
子控件的尺寸可以参照ScrollView以外其它的控件的尺寸(如控制器的view的尺寸)

其次,约束”完整”的意思是说:子控件在水平及竖直方向上的约束要把ScrollView”撑满”.

也就是说,在水平方向上,我们需要设置:

子控件左侧与父控件的距离
子控件自身的宽度
子控件右侧距父控件的距离.

竖直方向上也一样,要设置:

子控件顶部距父控件的距离
子控件的高度
子控件底部距父控件的距离.

Share

分享一篇关于IAP自动续订订阅的定价策略的决策 WWDC 2018:IAP最佳實踐並增強活動營銷功能

订阅评论
提醒
guest
0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x