<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Jim的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Jimwayne</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Jimwayne]]></copyright><item><title><![CDATA[JS中的块级作用域]]></title><link>https://blog.youkuaiyun.com/Jimwayne/article/details/103104335</link><guid>https://blog.youkuaiyun.com/Jimwayne/article/details/103104335</guid><author>Jimwayne</author><pubDate>Sat, 16 Nov 2019 23:13:09 +0800</pubDate><description><![CDATA[块级作用域
在ES5中，只有全局作用域和函数作用域。
影响：

if内层变量可能覆盖外层变量
for循环的变量会泄露成全局变量

使用var
var a = 1;
if(1) {
	var a = 3;
}
console.log(a);	//打印3,被if中的声明覆盖

使用let
let a = 1;
if(1) {
	let a = 3;
}
console.log(a);	//打印2,if...]]></description><category></category></item><item><title><![CDATA[JS中的变量提升]]></title><link>https://blog.youkuaiyun.com/Jimwayne/article/details/103104333</link><guid>https://blog.youkuaiyun.com/Jimwayne/article/details/103104333</guid><author>Jimwayne</author><pubDate>Sat, 16 Nov 2019 23:12:19 +0800</pubDate><description><![CDATA[变量提升
变量提升即将变量声明提升到它所在作用域的最开始的部分。
简单来讲
let和const 会在声明地方到块级顶部形成临时性死区，在这区间使用该变量都会被报错。例：
console.log(a); // 下面使用了let a，所以生成了变量名a的死区，调用了a所以报错
let a = 5;		
console.log(a); // 我的理解是使用了let后解锁死区，a可以调用。

var 的变...]]></description><category></category></item><item><title><![CDATA[IOS 中的MVVM简要描述]]></title><link>https://blog.youkuaiyun.com/Jimwayne/article/details/103062600</link><guid>https://blog.youkuaiyun.com/Jimwayne/article/details/103062600</guid><author>Jimwayne</author><pubDate>Thu, 14 Nov 2019 10:17:55 +0800</pubDate><description><![CDATA[为什么使用MVVM
iOS中，我们使用的大部分都是MVC架构。虽然MVC的层次明确，但是由于功能日益的增加、代码的维护，使得更多的代码被写在了Controller中，这样Controller就显得非常臃肿。为了给Controller瘦身，后来又从MVC衍生出了一种新的架构模式MVVM架构。
MVVM分别指什么
MVVM就是在MVC的基础上分离出业务处理的逻辑到ViewModel层，即：
M----...]]></description><category></category></item><item><title><![CDATA[Django-rest-framework 基础应用之用户登录学习]]></title><link>https://blog.youkuaiyun.com/Jimwayne/article/details/103039706</link><guid>https://blog.youkuaiyun.com/Jimwayne/article/details/103039706</guid><author>Jimwayne</author><pubDate>Wed, 13 Nov 2019 16:28:34 +0800</pubDate><description><![CDATA[前言
本次学习较为紧促，因为之前有做过Django的小项目，所以跳过了一些基础，这次就直接进入Django-rest-framework的学习。

开始项目
创建"Tutorial"项目和"api"app
 django-admin startproject Tutorial
 python manage.py startapp api

创建用户表
修改api model如下
from djan...]]></description><category></category></item><item><title><![CDATA[Django 环境配置和基本命令]]></title><link>https://blog.youkuaiyun.com/Jimwayne/article/details/102760083</link><guid>https://blog.youkuaiyun.com/Jimwayne/article/details/102760083</guid><author>Jimwayne</author><pubDate>Tue, 12 Nov 2019 21:59:32 +0800</pubDate><description><![CDATA[文章目录前言环境准备1. 安装python32. 安装虚拟环境安装virtualenvvirtualenvwrapper安装Django

前言
之前有学习过Django，但是时间过去太久了，有些遗忘，最近需要布一个API需要用到Django-rest-framework，所以，现在重新学习一番，并且记录下来，以加深记忆。
环境准备
1. 安装python3
这个就不用多讲了，Mac系统中自带了p...]]></description><category></category></item><item><title><![CDATA[iOS - @property与@synthesize与@dynamic]]></title><link>https://blog.youkuaiyun.com/Jimwayne/article/details/103027778</link><guid>https://blog.youkuaiyun.com/Jimwayne/article/details/103027778</guid><author>Jimwayne</author><pubDate>Tue, 12 Nov 2019 14:12:02 +0800</pubDate><description><![CDATA[这篇文章写的十分详细了
https://www.jianshu.com/p/e73649964b98

]]></description><category></category></item><item><title><![CDATA[oc中处理动态类型的方法（NSObject 方法）]]></title><link>https://blog.youkuaiyun.com/Jimwayne/article/details/103025717</link><guid>https://blog.youkuaiyun.com/Jimwayne/article/details/103025717</guid><author>Jimwayne</author><pubDate>Tue, 12 Nov 2019 11:53:16 +0800</pubDate><description><![CDATA[简介
在使用id对象时，我们不清楚id对象中是哪个类的实例，也不知道id对象是否包含哪种方法。
因为id对象作为参数时，静态编译不会报错，只有在执行代码时，最终才会报错，程序崩溃。
所以在使用带有id为参数的方法时，应当加入这些判断，避免错误的发生。

对象是不是class-object或其子类的成员
- (BOOL)isKindOfClass:class-object


对象是不是class-...]]></description><category></category></item><item><title><![CDATA[objective-c常用算法总结]]></title><link>https://blog.youkuaiyun.com/Jimwayne/article/details/100928687</link><guid>https://blog.youkuaiyun.com/Jimwayne/article/details/100928687</guid><author>Jimwayne</author><pubDate>Tue, 12 Nov 2019 11:28:02 +0800</pubDate><description><![CDATA[找到两个非负整数的最大公约数

    unsigned int u, v, temp;
    
    NSLog(@"please type in two nonnegative integers");
    scanf("%u%u", &amp;u, &amp;v);
    
    while (v != 0) {
        temp = u % v;
        u = ...]]></description><category></category></item><item><title><![CDATA[React Native环境配置教程(IOS)]]></title><link>https://blog.youkuaiyun.com/Jimwayne/article/details/102550151</link><guid>https://blog.youkuaiyun.com/Jimwayne/article/details/102550151</guid><author>Jimwayne</author><pubDate>Mon, 14 Oct 2019 17:57:58 +0800</pubDate><description><![CDATA[文章目录1.配置环境i) 基础环境ii)安装react-nativeiii)确保在你的xcode中有Command Line Tools2.创建第一个app并且运行i)创建第一个appii)运行你的第一个appNo bundle URL present问题发生原因及处理

本次Magic那边十万火急，需要人去救一下火。
所以我开始学习react-native和JavaScript。
因为之前没有写...]]></description><category></category></item></channel></rss>