<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ZhangJ的博客]]></title><description><![CDATA[ZhangJ的编码世界]]></description><link>https://blog.youkuaiyun.com/amj94j</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; amj94j]]></copyright><item><title><![CDATA[Mac SourceTree账户名输入错误怎么修改]]></title><link>https://blog.youkuaiyun.com/amj94j/article/details/124296614</link><guid>https://blog.youkuaiyun.com/amj94j/article/details/124296614</guid><author>amj94j</author><pubDate>Wed, 20 Apr 2022 14:23:28 +0800</pubDate><description><![CDATA[先退出 SourceTree

前往文件夹

/Users/zhang/Library/Application Support/SourceTree

将里面的文件全删除就行

如果只是修改密码的话

将钥匙串里面

这个文件删除就行


]]></description><category></category></item><item><title><![CDATA[Unable to prepare *** iPhone for development]]></title><link>https://blog.youkuaiyun.com/amj94j/article/details/123378743</link><guid>https://blog.youkuaiyun.com/amj94j/article/details/123378743</guid><author>amj94j</author><pubDate>Wed, 09 Mar 2022 15:21:28 +0800</pubDate><description><![CDATA[解决方法:

1.重启 XCode

2.重启 Mac

3.重启 iPhone
]]></description><category></category></item><item><title><![CDATA[Swift - 修改状态栏文字颜色]]></title><link>https://blog.youkuaiyun.com/amj94j/article/details/116483543</link><guid>https://blog.youkuaiyun.com/amj94j/article/details/116483543</guid><author>amj94j</author><pubDate>Fri, 07 May 2021 10:37:38 +0800</pubDate><description><![CDATA[设置项目整体的状态栏类型



在 plist 文件中设置 "View controller-based status bar style appearance" 为 yes 时, 将控制权交给 vc

可以在UINavigationController中实现


    override var childForStatusBarStyle: UIViewController? {
        return topViewController
    }


在要修改的 controller 里面实现]]></description><category></category></item><item><title><![CDATA[swift-textView 限制]]></title><link>https://blog.youkuaiyun.com/amj94j/article/details/114281046</link><guid>https://blog.youkuaiyun.com/amj94j/article/details/114281046</guid><author>amj94j</author><pubDate>Tue, 02 Mar 2021 11:20:10 +0800</pubDate><description><![CDATA[这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题，有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能，丰富你的文章UML 图表FLowchart流程图导出与导入导出导入
欢迎使用Markdown编辑器
你好！ 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar]]></description><category></category></item><item><title><![CDATA[KVO的实现原理]]></title><link>https://blog.youkuaiyun.com/amj94j/article/details/108724689</link><guid>https://blog.youkuaiyun.com/amj94j/article/details/108724689</guid><author>amj94j</author><pubDate>Wed, 23 Sep 2020 09:30:00 +0800</pubDate><description><![CDATA[KVO是基于RunTime机制实现的

当我们为一个属性添加观察者模式之后,系统会利用RunTime动态创建一个继承于属性所在类的子类"NSKVONotifying_XXX" ,XXX为类名,并且让实例对象的isa指向这个全新的子类,当修改实例对象时,会调用Foundation框架的_NSSetXXXValueAndNotify函数,在_NSSetXXXValueAndNotify内部会调用

willChangeValueForKey:

父类原来的setter方法进行修改 ([super setXX..]]></description><category></category></item><item><title><![CDATA[guard语句]]></title><link>https://blog.youkuaiyun.com/amj94j/article/details/108216374</link><guid>https://blog.youkuaiyun.com/amj94j/article/details/108216374</guid><author>amj94j</author><pubDate>Tue, 25 Aug 2020 10:43:09 +0800</pubDate><description><![CDATA[guard语句
func test1(param:Int) {
    guard param&gt;10 else {
        print("进入guard语句里")
        return
    }
    print("hello world")
}
test1(param: 15)
/// 等价于
func test2(param:Int) {
    if param&gt;10 {
        print("hello world ==")
    } else {
    ]]></description><category></category></item><item><title><![CDATA[Swift Array数组]]></title><link>https://blog.youkuaiyun.com/amj94j/article/details/108214314</link><guid>https://blog.youkuaiyun.com/amj94j/article/details/108214314</guid><author>amj94j</author><pubDate>Tue, 25 Aug 2020 10:15:53 +0800</pubDate><description><![CDATA[数组的创建
var a = [1,2,3,4]
var b:[String] = ["hello","world"]
var c:Array&lt;Double&gt; = []

通过初始化器，定义可变数组 初始化器就是一个构造方法
var array = [Int]()

通过Array初始化器，生成一个，初始化为-1，长度为3的数组
var array1 = Array(repeating: -1, count: 3)
/// 打印结果 [-1, -1, -1]

全部替换成1，2，3
array1.]]></description><category></category></item><item><title><![CDATA[极光推送生产环境收不到消息的原因]]></title><link>https://blog.youkuaiyun.com/amj94j/article/details/108202980</link><guid>https://blog.youkuaiyun.com/amj94j/article/details/108202980</guid><author>amj94j</author><pubDate>Mon, 24 Aug 2020 17:00:38 +0800</pubDate><description><![CDATA[/*!
 * @abstract 启动SDK
 *
 * @param launchingOption 启动参数.
 * @param appKey 一个JPush 应用必须的,唯一的标识. 请参考 JPush 相关说明文档来获取这个标识.
 * @param channel 发布渠道. 可选.
 * @param isProduction 是否生产环境. 如果为开发状态,设置为 NO; 如果为生产状态,应改为 YES.
 *                     App 证书环境取决于profile .]]></description><category></category></item><item><title><![CDATA[Swift约束库SnapKit的使用]]></title><link>https://blog.youkuaiyun.com/amj94j/article/details/107831244</link><guid>https://blog.youkuaiyun.com/amj94j/article/details/107831244</guid><author>amj94j</author><pubDate>Thu, 06 Aug 2020 09:34:59 +0800</pubDate><description><![CDATA[pod 'SnapKit'



        let test = UIView.init()
        test.backgroundColor = UIColor.red
        self.view.addSubview(test)
        let test1 = UIView.init()
        test1.backgroundColor = UIColor.orange
        self.view.addSubview(test1)
        te.]]></description><category></category></item><item><title><![CDATA[苹果开发者账号续费遇到的坑]]></title><link>https://blog.youkuaiyun.com/amj94j/article/details/106079876</link><guid>https://blog.youkuaiyun.com/amj94j/article/details/106079876</guid><author>amj94j</author><pubDate>Tue, 12 May 2020 16:55:21 +0800</pubDate><description><![CDATA[要确保你的信用卡没有问题，并且是双币种的卡 VISA+银联 或者 万事达+银联
	信用卡账单地址、姓名必须和持卡人一致，姓名使用信用卡上面的大写中文拼音
	联系账单邮箱一定不要用qq或者163邮箱，谷歌的邮箱也不可以，最后我使用的公司域名邮箱支付成功的

如果续费之前没有认证并且认证失败了不要慌，可以转换持有者，用新的持有者去支付续费也是可以的。支付的时候信用卡不一定非得是账号持有者，可以用别人的信用卡进行支付，但支付姓名要写持卡人的。

...]]></description><category></category></item><item><title><![CDATA[苹果开发者账号持有者转移流程]]></title><link>https://blog.youkuaiyun.com/amj94j/article/details/106002540</link><guid>https://blog.youkuaiyun.com/amj94j/article/details/106002540</guid><author>amj94j</author><pubDate>Fri, 08 May 2020 18:04:34 +0800</pubDate><description><![CDATA[1. 新持有者的Apple ID

首先你需要一个新的Apple ID做为新持有者的Apple ID，如果你只是注册了邮箱，需要再去苹果官网将其注册为苹果的Apple ID账号。

2. 添加新的用户

你需要在AppStoreConnect登陆之前的开发者账号，打开用户与访问，点击加号进行添加；





3. 接受用户邀请

你在之前添加时候所填写的邮箱会收到一份来自苹果的邮件，接受邀请之后就成功变成了拥有你邀请时填写的相应职能的用户。

4. 转移持有者

在你的Developer中打开你的Memb.]]></description><category></category></item><item><title><![CDATA[打包报错：Found an unexpected Mach-O header code: 0x72613c21]]></title><link>https://blog.youkuaiyun.com/amj94j/article/details/103387595</link><guid>https://blog.youkuaiyun.com/amj94j/article/details/103387595</guid><author>amj94j</author><pubDate>Wed, 04 Dec 2019 15:31:43 +0800</pubDate><description><![CDATA[进行打正式包的时候报了以下错误：



点击Show Logs 会生成一个Log文件夹



会有这么四个文件



根据网上的资料提示，我们在Build Phases -&gt; Embed Frameworks 里面找到相应的 .framework 删除，重新打包就可以了。如果此方法解决不了，可以网上参考其他方法。




...]]></description><category></category></item><item><title><![CDATA[Guideline 2.3.3 - Performance - Accurate Metadata]]></title><link>https://blog.youkuaiyun.com/amj94j/article/details/92805058</link><guid>https://blog.youkuaiyun.com/amj94j/article/details/92805058</guid><author>amj94j</author><pubDate>Wed, 19 Jun 2019 10:05:50 +0800</pubDate><description><![CDATA[Guideline 2.3.3 - Performance - Accurate Metadata


We noticed that your screenshots do not sufficiently reflect your app in use.
Specifically, your 5.5-inch iPhone screenshots do not display the app ...]]></description><category></category></item><item><title><![CDATA[Charles 注册码/破解/激活]]></title><link>https://blog.youkuaiyun.com/amj94j/article/details/92407517</link><guid>https://blog.youkuaiyun.com/amj94j/article/details/92407517</guid><author>amj94j</author><pubDate>Sun, 16 Jun 2019 16:50:48 +0800</pubDate><description><![CDATA[Charles(青花瓷)



先去官网下载最新的:


https://www.charlesproxy.com/latest-release/download.do


然后从这个网址生成破解后的charles.jar文件


https://www.zzzmode.com/mytools/charles/




替换本地charles.jar文件即可
macOS:/Application...]]></description><category></category></item><item><title><![CDATA[iOS开发方法集注释的几种方法]]></title><link>https://blog.youkuaiyun.com/amj94j/article/details/92064201</link><guid>https://blog.youkuaiyun.com/amj94j/article/details/92064201</guid><author>amj94j</author><pubDate>Sat, 15 Jun 2019 09:48:01 +0800</pubDate><description><![CDATA[和查找方法一样可以清楚的看到注释的几种方法:




// TODO: --------------- TODO ------------------




// MARK: --------------- MARK ------------------




// FIXME: --------------- FIXME ------------------




// ???: ----...]]></description><category></category></item><item><title><![CDATA[将阿拉伯数字转换为中文数字]]></title><link>https://blog.youkuaiyun.com/amj94j/article/details/91040189</link><guid>https://blog.youkuaiyun.com/amj94j/article/details/91040189</guid><author>amj94j</author><pubDate>Thu, 06 Jun 2019 10:36:25 +0800</pubDate><description><![CDATA[/**
 *  将阿拉伯数字转换为中文数字
 */
+ (NSString *)translationArabicNum:(NSInteger)arabicNum
{
    NSString *arabicNumStr = [NSString stringWithFormat:@"%ld",(long)arabicNum];
    NSArray *arabicNumeralsArray ...]]></description><category></category></item><item><title><![CDATA[字符串非空判断]]></title><link>https://blog.youkuaiyun.com/amj94j/article/details/91040123</link><guid>https://blog.youkuaiyun.com/amj94j/article/details/91040123</guid><author>amj94j</author><pubDate>Thu, 06 Jun 2019 10:34:17 +0800</pubDate><description><![CDATA[#import "NSString+Addons.h"

@implementation NSString (Addons)

- (BOOL)isNotBlankString {
    if (!self) {
        return NO;
    }
    if ([self isKindOfClass:[NSNull class]]) {
        return NO;...]]></description><category></category></item><item><title><![CDATA[xib设置阴影和边框的颜色]]></title><link>https://blog.youkuaiyun.com/amj94j/article/details/91039851</link><guid>https://blog.youkuaiyun.com/amj94j/article/details/91039851</guid><author>amj94j</author><pubDate>Thu, 06 Jun 2019 10:25:34 +0800</pubDate><description><![CDATA[#import "CALayer+XibConfiguration.h"

@implementation CALayer (XibConfiguration)


- (void)setBorderUIColor:(UIColor *)color
{
    self.borderColor = color.CGColor;
}

- (UIColor *)borderUIColor
{
 ...]]></description><category></category></item><item><title><![CDATA[Button计时器(解决倒计时闪烁)]]></title><link>https://blog.youkuaiyun.com/amj94j/article/details/91039349</link><guid>https://blog.youkuaiyun.com/amj94j/article/details/91039349</guid><author>amj94j</author><pubDate>Thu, 06 Jun 2019 10:00:14 +0800</pubDate><description><![CDATA[- (void)startWithTime:(NSInteger)timeLine title:(NSString *)title countDownTitle:(NSString *)subTitle {
    
    // 倒计时时间
    __block NSInteger timeOut = timeLine;
    dispatch_queue_t queue = dispa...]]></description><category></category></item><item><title><![CDATA[CoreData的简单使用]]></title><link>https://blog.youkuaiyun.com/amj94j/article/details/90512656</link><guid>https://blog.youkuaiyun.com/amj94j/article/details/90512656</guid><author>amj94j</author><pubDate>Sat, 25 May 2019 10:16:43 +0800</pubDate><description><![CDATA[.xcdatamodeld的生成.


创建项目需要勾选上Use Core Data



系统会自动生成

如果数据库需求是后加的,没有在项目创建的时候加也没有关键,我们可以新建一个command + N



然后点击下一步输入下名字就生成成功了





点击 Add Entity 就会生成相应的表



我们可以双击表面 对其进行修改 红框中的加号都是为这个表添加属性



属性的名...]]></description><category></category></item></channel></rss>