IOS Swift3.1保存数据

IOS利用Xcode和swift语言开发简易通讯录(重启数据就丢失) 上课跟着老师做的,复盘一下,下周好像要交报告 目录 1.实现结果呈现: 2.环境: 3.具体操作实现: (1)Main.storyboard的主页面操作 (2)新建一个swift文件ContactIntormation.swift (3)新建一个Cocoa Touch Class 然后命名为NewTableViewController1,然后选择继承UITableViewController最后的代码如下 (4)然后绑定这个swift (5)第二个联系人具体页面(修改页面) 1.实现结果 阅读详情

1. 配置文件内数据

//读取

        let b:String = UserDefaults.standard.string(forKey: "abc")!
        print( b )

//写入

UserDefaults.standard.setValue("123", forKey: "abc")


2. 全局数据,利用AppDelegate单实例特性

     //数据声明

class AppDelegate: UIResponder, UIApplicationDelegate {
    var window: UIWindow?
   
    var strName: String = "psone"
   
    
var strPwd : String = "xbox"

   ....................................

}


  //使用数据

        let appDe = UIApplication.shared.delegate as! AppDelegate
        print( appDe.strName )

iOS实现iCloud数据存储-Swift3.0 在使用一些不需要服务端支持的App时,我发现部分App通过使用iCloud文档存储功能来满足应用数据云存储的需求,如饥荒的游戏数据存储、素记的日记存储等,用户可以在自己iCloud账号下的任何设备访问或修改App的这部分数据,十分方便。 阅读详情

相关推荐

iOS开发新手教程:Swift语言与Xcode工具链

Swift是苹果公司于2014年发布的一种现代化编程语言,专为iOS、macOS、watchOS和tvOS开发设计。它结合了C和Objective-C的优点,支持安全性、性能和现代编程模式。Xcode是苹果公司为开发iOS、macOS、watchOS和tvOS应用提供的集成开发环境(IDE)。它包括编写代码、设计界面、编译、调试和发布应用的所有工具。// 自定义绘制代码本文详细介绍了iOS开发的基础知识,包括Swift语言基础、Xcode工具链的使用以及iOS应用开发的基本流程。

2401_85639015的博客 1万+

Swift - UserDefaults本地数据存储

联系人:石虎 QQ:1224614774  昵称: 嗡嘛呢叭咪哄                    QQ群:807236138    群称: iOS 技术交流学习群   一、概念 UserDefaults 适合存储轻量级的本地客户端数据,比如记住密码功能,要保存一个系统的用户名、密码。使用 UserDefaults 是首选。下次再登陆的时候就可以直接从 UserDefaults 里面...

石虎 4204

Swift语言的数据可视化

数据可视化主要是通过图形图像来展现数据,帮助人们从中识别模式、趋势和异常。有效的数据可视化能够使复杂的数据内容变得易于理解,是交流和呈现的重要工具。比如,地图、图表、仪表盘等都是常见的可视化形式。Swift是苹果公司开发的一种编程语言,首次发布于2014年。Swift是一种安全、高效且易于学习的语言,具有现代编程语言的许多特性。Swift经过不断更新和完善,已经成为iOS、macOS、watchOS和tvOS应用开发的主要语言。

2501_90383613的博客 493

[Swift实际操作]七、常见概念-(10)使用UserDefaults和归档方式存取用户数据实际操作...

在项目开发之中,你会经常需要将一些数据存储在本地,以便记录用户生产的数据或操作习惯。在项目文件夹上带点击鼠标右键。弹出右键菜单。本文将为你演示,存储用户数据的两种常用方式。 选择菜单中的创建新文件选项(New File),创建一个类文件,用来存档用户数据。在弹出的文件模板选择窗口中,保持默认的选项(Cocoa Touch Class),然后点击下一步按钮,进入下一步设置页面。在类名输入框内输入类...

weixin_30430169的博客 345

SwiftUI 数据存储之iOS如何存储数据

如何将模型数据序列化为可以保存的格式? 对象必须符合 Codable 协议才能使其可序列化。Codable 协议采用两种方法,init(from:)和encode(to: ). 但是,如果所有对象属性都已经符合 Codable 协议,则不需要采用这两种协议方法。有多种编码方式,对于这个例子,我们将它编码成一个属性列表(plist)文件。 class Note : Codable { let title: String let text: String let timestamp: Date }

iCloudEnd的博客 1220

SwiftUI Swift 中的数据持久性,保存数据的不同方法

通过数据持久性,您可以将数据保存在某种存储介质上。这可能是硬盘驱动器或云服务器之类的东西,可以随意存储和检索信息。我们如何使用Swift保存数据?好吧,这取决于您希望保存信息的持久性。Swift中有三种不同类型的数据持久化方法从磁盘读取文件、将对象存储到NSUserDefaults以及将CoreData用于更复杂的应用程序。除了这三种方法之外,还有其他方法可以存储信息以供以后使用(例如使用iCloud)。但是,这些超出了我们将在此处介绍的范围。...

iCloudEnd的博客 2180

Swift 3.0 使用CoreData兼容iOS9和iOS10的CoreData实例

写在前面,由于苹果公司对CoreData的改动,使得在Xcode8.0和ios10.0以上环境下使用新语法使用CoreData不兼容ios9以下系统,本实例主要简单介绍Swift3.0中CoreData的使用,同时处理了不兼容ios9以下版本系统的问题。 开发环境:Xcode8.1,iOS10.0      说明:本实例为swift纯代码编写 下面为实例的主要实现代码 AppDelegat

pkx0128的博客 1991

swift-一个数据存储使用的Leancloud的恋爱APP

一个数据存储使用的 Leancloud的恋爱APP

IOS开发入门之一——Swift语言基础

           需要iOS视频资料可以加我微信: 1914532832  验证信息请注明:IOS开发     很多新人对IOS开发很迷茫,不知道从何下手?看完本系列,你将会觉得IOS入门其实很简单。要学习IOS开发,当然是先学习Swift语言,特别是小白,你连基本的代码都看不懂,后面深入学习就很被动了。 一、开发环境配置     1.  开发IOS首先必须有一台mac(苹果笔记本)...

yuchu1900的博客 2万+

告别‘线束丛林’:手把手拆解车身域控制器(BCM/PEPS/网关)的硬件选型与PCB布局要点

本文深入解析车身域控制器的硬件选型与PCB布局要点,涵盖主控MCU选择、通信接口设计、电源架构优化及EMC设计等关键环节。通过实战案例分享,帮助工程师解决高密度集成带来的电源完整性、热管理和信号隔离挑战,实现更稳定高效的汽车电子系统设计。

weixin_42567279的博客 394

首发!谷歌倾斜摄影数据转换生成OSGB格式

全球首发,谷歌倾斜摄影模型文件能直接转换成OSGB格式!

cyber_room的博客 2287

swift 将图片保存到本地_Swift实现截屏并保存相册

func saveToLocal() {//截屏let screenRect = UIScreen.mainScreen().boundsUIGraphicsBeginImageContext(screenRect.size)let ctx:CGContextRef = UIGraphicsGetCurrentContext()!self.view.layer.renderInContext(ct...

weixin_39845613的博客 1003

从零配置Archery:手把手教你用Docker部署多数据库审核系统(MySQL/PostgreSQL/ClickHouse)

本文详细介绍了如何从零开始使用Docker部署Archery多数据库审核系统,涵盖MySQL、PostgreSQL和ClickHouse的配置与整合。文章提供了生产级Docker-compose配置、审核规则定制、工单流程设置以及企业微信通知集成等实战指南,帮助团队构建统一的企业级SQL审计平台,提升数据库操作规范与安全。

e4f5g6h7的博客 941

【IOS开发】NSArray,NSDictionary数据的保存

保存数据的步骤: 1.新建y

AyaseEli的专栏 3019

Nangate 45nm FreePDK开源工艺库:从RTL到GDSII全流程实战

在数字IC设计中,标准单元库是连接逻辑综合与物理实现的基石,它定义了每个单元的逻辑功能、时序延迟与物理尺寸。开源EDA工具链的成熟,使得个人也能借助免费工艺套件完整跑通芯片设计流程。Nangate 45nm FreePDK作为一套经典的开源工艺库,凭借结构清晰、配套完善的特性,成为学习数字后端和时序收敛的理想训练场。从综合工具Yosys读取Liberty文件进行逻辑映射,到OpenROAD执行布局布线与时钟树综合,再到使用OpenSTA分析关键路径延迟,这套流程涵盖了数字设计最核心的环节。通过亲手操作,开发

weixin_29168393的博客 273

电压抬升电路设计

一、实验目的 掌握集成运放电压放大电路设计基本方法。 掌握基本仪器使用方法(电源、信号发生器、示波器)。 二、实验内容及结果 实验内容 基于集成运放设计一传感器信号采集电路。传感器输出信号在±50mV,频率为100Hz以内,模数转换器允许输入电压在0~5V,要求设计传感器与模数转换器之间的信号采集电路,实现传感器信号放大10倍,并适合模数转换器的输入。模数转换器的输入电阻为1KHz,设计电路时,可使用1KHz电阻作为信号采集电路负载,代替模数转换器。 实验具体要求如下: (1)确定电路形式,说明电压转

Safaearth的博客 4万+

swift编译器linux下载,swift 3.1

swift 3.1已经发布了,新版本增强了系统兼容性,改变了快照版本的生成方式,修复了编译器不会接受从来没有出现过的代码,具有安全系数高、语法渐变、高效强大的特点,有需要的朋友赶快下载新版本体验一下吧!基本介绍确切地说,Swift 3.1并不会达到Swift 4预期的兼容性,它只是更加方便使用而已。此外,Swift 3.1的源代码兼容性明确包括macOS、iOS等系统的Apple SDK,这意味着...

weixin_34209060的博客 313

学Simulink--基础微电网场景实例:基于Simulink的微电网黑启动过程建模与仿真

黑启动(Black Start)是指在全系统停电(无电压、无频率)状态下,微电网依靠内部电源自主恢复供电的能力。🌩️典型场景主网长时间故障自然灾害导致区域停电计划检修后重启❗挑战无参考电压/频率 → 逆变器无法锁相负荷逐级投入 → 需避免过流/过压多电源协调 → 防止环流或失步✅黑启动成功标准在30 秒内恢复关键负荷供电电压/频率稳定在范围内无设备损坏或保护跳闸🎯本文目标:手把手教你使用 Simulink + Simscape + Stateflow 搭建。

amy_mhd的博客 201

Swift在iOS应用开发中的作用:掌握Swift语言,使用Xcode工具开发iOS应用。

Swift是一种由苹果公司推出的编程语言,旨在为iOS、macOS、watchOS和tvOS平台提供现代化的编程工具。它的诞生可以追溯到2014年,当时苹果在WWDC(全球开发者大会)上首次公布了这一全新的编程语言。Swift的出现,就像一股清流注入了编程世界,给开发者们带来了新的希望和活力。Xcode是苹果公司官方提供的集成开发环境(IDE),用于开发iOS、macOS等平台的应用程序。安装Xcode非常简单,只需前往Mac App Store搜索并下载即可。

一个平平无奇的博客,一个平平无奇的人,一个平平无奇的约定 1242

HBase批量导入工具:BulkLoad使用详解

HBase作为分布式NoSQL数据库,在大数据领域有着广泛应用。传统的数据写入方式(如Put操作)在面对海量数据导入时存在性能瓶颈。BulkLoad提供了一种高效的大批量数据导入方案,可以显著提高数据加载速度并降低集群负载。BulkLoad的核心原理和架构与传统写入方式的性能对比详细的使用方法和实现步骤性能优化技巧和最佳实践实际应用案例分析本文首先介绍BulkLoad的基本概念和原理,然后深入讲解其实现机制和关键技术。接着通过实际案例演示BulkLoad的使用方法,并分析性能优化策略。

大数据洞察的博客 1236

Python 陌生代码库阅读之道:从零起步到一周掌控 5 万行老项目的实战策略

文中特别强调"自顶向下+画图+注释"的基础阅读心法,并提供了具体的代码示例和命令行技巧。对于大型项目,建议先建立核心流程的骨架认知,再逐步填充细节,同时注重文档化和测试覆盖率的提升。 掌握这套方法后,开发者可以将陌生代码库的阅读效率提升3倍以上,在一周内建立起对5万行级别项目的整体掌控力。

铭渊老黄 506

iOS从零开始与Swift:简而言之的Swift

苹果在2014年的年度开发者大会上推出了Swift编程语言,这令开发人员社区感到惊讶。 该公司对Swift持认真态度,这不是实验。 Swift的目标是为Apple平台提供下一代应用程序。 先决条件 程式设计 一两篇文章不可能涵盖编程的基础知识和学习Swift。 因此,我假设您已经有一些编程经验。 Ruby,PHP或JavaScript是学习Swift的良好起点。 如果您来自Web开发背景,...

代码教主 2532

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain&#39;s apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath(&#39;DeepLearnToolbox&#39;));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand(&#39;state&#39;,0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W&#39;); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand(&#39;state&#39;,0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = &#39;sigm&#39;;%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, &#39;Too big error&#39;);```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand(&#39;state&#39;,0)sae = saesetup([784 100]);sae.ae{1}.activation_function = &#39;sigm&#39;;sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)&#39;)% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;;nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, &#39;Too big error&#39;);```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x&#39;,28,28,60000))/255;test_x = double(reshape(test_x&#39;,28,28,10000))/255;train_y = double(train_y&#39;);test_y = double(test_y&#39;);%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you&#39;ll get around 1.2% errorrand(&#39;state&#39;,0)cnn.layers = { struct(&#39;type&#39;, &#39;i&#39;) %input layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 6, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %sub sampling layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 12, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, &#39;Too big error&#39;);```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, &#39;Too big error&#39;);%% ex2 neural net with L2 weight decayrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex3 neural net with dropoutrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex4 neural net with sigmoid activation functionrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex5 plotting functionalityrand(&#39;state&#39;,0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = &#39;softmax&#39;; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand(&#39;state&#39;,0)nn = nnsetup([784 20 10]); nn.output = &#39;softmax&#39;; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

swift之保存数据到keychain

访问KeyChain 1.在mac上按下 Command+Space 输入Keychain Access 2.在终端输入security find-generic-password -help 读取配置文件授权 cd ~/Desktop //ios产看应用的授权来发现他需要的访问类型,应用的授权以编码的形式保存在对应的签名的配置文件中,嘉定已经创建一个配置文件,名为KeycahinTes...

weixin_33850015的博客 766

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

iOS Swift3.0 OC 数据储存--归档

一、Swift 3.0 1、model class userModel: NSObject,NSCoding { var account: String = "" var regmobile: String = "" var sec1_question: String = "" func e...

abaodc2308的博客 154

iOS-Swift之Realm的使用教程

·版本:Realm Swift 3.15.0 ·使用要求 ·安装 ·models模型 ·realm对象操作 ·writes写 ·queries读 ·update更新 ·delete删除 ·migration数据迁移

amberoot's Space 3663

Swift中SQLite实战详解:如何在iOS项目中实现无缝数据库集成

掌握Swift中SQLite操作的完整解决方案,轻松实现iOS应用本地数据持久化。涵盖数据库创建、增删改查核心方法,结合FMDB实战示例,提升数据处理效率与稳定性。适用于离线存储、缓存等场景,值得收藏。

BreakNexus的博客 975
上一篇: IOS Swift3.1 手动页面跳转
下一篇: IOS Swift3.1 手工代码编写主视图
appiox8
博客等级 码龄9年 10粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值