{"action":"closed","number":128,"pull_request":{"url":"https://api.github.com/repos/bang590/JSPatch/pulls/128","id":49111916,"html_url":"https://github.com/bang590/JSPatch/pull/128","diff_url":"https://github.com/bang590/JSPatch/pull/128.diff","patch_url":"https://github.com/bang590/JSPatch/pull/128.patch","issue_url":"https://api.github.com/repos/bang590/JSPatch/issues/128","number":128,"state":"closed","locked":false,"title":"native调用被js重写的方法时，将第一个参数slf封装为JPBoxing对象，解决调用完js重写方法后不能及时释放self的问题","user":{"login":"honghewang","id":15060111,"avatar_url":"https://avatars.githubusercontent.com/u/15060111?v=3","gravatar_id":"","url":"https://api.github.com/users/honghewang","html_url":"https://github.com/honghewang","followers_url":"https://api.github.com/users/honghewang/followers","following_url":"https://api.github.com/users/honghewang/following{/other_user}","gists_url":"https://api.github.com/users/honghewang/gists{/gist_id}","starred_url":"https://api.github.com/users/honghewang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/honghewang/subscriptions","organizations_url":"https://api.github.com/users/honghewang/orgs","repos_url":"https://api.github.com/users/honghewang/repos","events_url":"https://api.github.com/users/honghewang/events{/privacy}","received_events_url":"https://api.github.com/users/honghewang/received_events","type":"User","site_admin":false},"body":"Hi,\r\n      工作中用到了JSPatch。然而调用完js重写的方法时，对象不能及时释放，致使对象dealloc中的方法没能及时调用，引起些问题。\r\n      个人觉得，调用JS重写的方法时，传递的第一个参数slf不必要使用强引用，所以建议使用[JPBoxing boxWeakObj:slf]（JSPatch/JPEngine.m line 437）代替slf。这样就不会影响OC的内存管理逻辑。\r\n     但毕竟对JSPatch的理解没那么深入，有些问题可能没考虑到，承望不吝赐教。","created_at":"2015-10-29T08:51:39Z","updated_at":"2015-11-05T12:43:55Z","closed_at":"2015-11-05T12:43:55Z","merged_at":null,"merge_commit_sha":"886a3a830b8e5b2de96ad9c8a1613ae7669e1d91","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/bang590/JSPatch/pulls/128/commits","review_comments_url":"https://api.github.com/repos/bang590/JSPatch/pulls/128/comments","review_comment_url":"https://api.github.com/repos/bang590/JSPatch/pulls/comments{/number}","comments_url":"https://api.github.com/repos/bang590/JSPatch/issues/128/comments","statuses_url":"https://api.github.com/repos/bang590/JSPatch/statuses/77b1b140796018d5654ea67456f8dde5f2068428","head":{"label":"honghewang:master","ref":"master","sha":"77b1b140796018d5654ea67456f8dde5f2068428","user":{"login":"honghewang","id":15060111,"avatar_url":"https://avatars.githubusercontent.com/u/15060111?v=3","gravatar_id":"","url":"https://api.github.com/users/honghewang","html_url":"https://github.com/honghewang","followers_url":"https://api.github.com/users/honghewang/followers","following_url":"https://api.github.com/users/honghewang/following{/other_user}","gists_url":"https://api.github.com/users/honghewang/gists{/gist_id}","starred_url":"https://api.github.com/users/honghewang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/honghewang/subscriptions","organizations_url":"https://api.github.com/users/honghewang/orgs","repos_url":"https://api.github.com/users/honghewang/repos","events_url":"https://api.github.com/users/honghewang/events{/privacy}","received_events_url":"https://api.github.com/users/honghewang/received_events","type":"User","site_admin":false},"repo":{"id":45166805,"name":"JSPatch","full_name":"honghewang/JSPatch","owner":{"login":"honghewang","id":15060111,"avatar_url":"https://avatars.githubusercontent.com/u/15060111?v=3","gravatar_id":"","url":"https://api.github.com/users/honghewang","html_url":"https://github.com/honghewang","followers_url":"https://api.github.com/users/honghewang/followers","following_url":"https://api.github.com/users/honghewang/following{/other_user}","gists_url":"https://api.github.com/users/honghewang/gists{/gist_id}","starred_url":"https://api.github.com/users/honghewang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/honghewang/subscriptions","organizations_url":"https://api.github.com/users/honghewang/orgs","repos_url":"https://api.github.com/users/honghewang/repos","events_url":"https://api.github.com/users/honghewang/events{/privacy}","received_events_url":"https://api.github.com/users/honghewang/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/honghewang/JSPatch","description":"JSPatch bridge Objective-C and Javascript using the Objective-C runtime. You can call any Objective-C class and method in JavaScript by just including a small engine. JSPatch is generally use for hotfix iOS App.","fork":true,"url":"https://api.github.com/repos/honghewang/JSPatch","forks_url":"https://api.github.com/repos/honghewang/JSPatch/forks","keys_url":"https://api.github.com/repos/honghewang/JSPatch/keys{/key_id}","collaborators_url":"https://api.github.com/repos/honghewang/JSPatch/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/honghewang/JSPatch/teams","hooks_url":"https://api.github.com/repos/honghewang/JSPatch/hooks","issue_events_url":"https://api.github.com/repos/honghewang/JSPatch/issues/events{/number}","events_url":"https://api.github.com/repos/honghewang/JSPatch/events","assignees_url":"https://api.github.com/repos/honghewang/JSPatch/assignees{/user}","branches_url":"https://api.github.com/repos/honghewang/JSPatch/branches{/branch}","tags_url":"https://api.github.com/repos/honghewang/JSPatch/tags","blobs_url":"https://api.github.com/repos/honghewang/JSPatch/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/honghewang/JSPatch/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/honghewang/JSPatch/git/refs{/sha}","trees_url":"https://api.github.com/repos/honghewang/JSPatch/git/trees{/sha}","statuses_url":"https://api.github.com/repos/honghewang/JSPatch/statuses/{sha}","languages_url":"https://api.github.com/repos/honghewang/JSPatch/languages","stargazers_url":"https://api.github.com/repos/honghewang/JSPatch/stargazers","contributors_url":"https://api.github.com/repos/honghewang/JSPatch/contributors","subscribers_url":"https://api.github.com/repos/honghewang/JSPatch/subscribers","subscription_url":"https://api.github.com/repos/honghewang/JSPatch/subscription","commits_url":"https://api.github.com/repos/honghewang/JSPatch/commits{/sha}","git_commits_url":"https://api.github.com/repos/honghewang/JSPatch/git/commits{/sha}","comments_url":"https://api.github.com/repos/honghewang/JSPatch/comments{/number}","issue_comment_url":"https://api.github.com/repos/honghewang/JSPatch/issues/comments{/number}","contents_url":"https://api.github.com/repos/honghewang/JSPatch/contents/{+path}","compare_url":"https://api.github.com/repos/honghewang/JSPatch/compare/{base}...{head}","merges_url":"https://api.github.com/repos/honghewang/JSPatch/merges","archive_url":"https://api.github.com/repos/honghewang/JSPatch/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/honghewang/JSPatch/downloads","issues_url":"https://api.github.com/repos/honghewang/JSPatch/issues{/number}","pulls_url":"https://api.github.com/repos/honghewang/JSPatch/pulls{/number}","milestones_url":"https://api.github.com/repos/honghewang/JSPatch/milestones{/number}","notifications_url":"https://api.github.com/repos/honghewang/JSPatch/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/honghewang/JSPatch/labels{/name}","releases_url":"https://api.github.com/repos/honghewang/JSPatch/releases{/id}","created_at":"2015-10-29T07:18:11Z","updated_at":"2015-11-05T11:05:58Z","pushed_at":"2015-11-05T10:49:20Z","git_url":"git://github.com/honghewang/JSPatch.git","ssh_url":"git@github.com:honghewang/JSPatch.git","clone_url":"https://github.com/honghewang/JSPatch.git","svn_url":"https://github.com/honghewang/JSPatch","homepage":"","size":392,"stargazers_count":1,"watchers_count":1,"language":"Objective-C","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":1,"default_branch":"master"}},"base":{"label":"bang590:master","ref":"master","sha":"68ef830eeb806b16f0f71ba569746f98bb592278","user":{"login":"bang590","id":329480,"avatar_url":"https://avatars.githubusercontent.com/u/329480?v=3","gravatar_id":"","url":"https://api.github.com/users/bang590","html_url":"https://github.com/bang590","followers_url":"https://api.github.com/users/bang590/followers","following_url":"https://api.github.com/users/bang590/following{/other_user}","gists_url":"https://api.github.com/users/bang590/gists{/gist_id}","starred_url":"https://api.github.com/users/bang590/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bang590/subscriptions","organizations_url":"https://api.github.com/users/bang590/orgs","repos_url":"https://api.github.com/users/bang590/repos","events_url":"https://api.github.com/users/bang590/events{/privacy}","received_events_url":"https://api.github.com/users/bang590/received_events","type":"User","site_admin":false},"repo":{"id":36205608,"name":"JSPatch","full_name":"bang590/JSPatch","owner":{"login":"bang590","id":329480,"avatar_url":"https://avatars.githubusercontent.com/u/329480?v=3","gravatar_id":"","url":"https://api.github.com/users/bang590","html_url":"https://github.com/bang590","followers_url":"https://api.github.com/users/bang590/followers","following_url":"https://api.github.com/users/bang590/following{/other_user}","gists_url":"https://api.github.com/users/bang590/gists{/gist_id}","starred_url":"https://api.github.com/users/bang590/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bang590/subscriptions","organizations_url":"https://api.github.com/users/bang590/orgs","repos_url":"https://api.github.com/users/bang590/repos","events_url":"https://api.github.com/users/bang590/events{/privacy}","received_events_url":"https://api.github.com/users/bang590/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/bang590/JSPatch","description":"JSPatch bridge Objective-C and Javascript using the Objective-C runtime. You can call any Objective-C class and method in JavaScript by just including a small engine. JSPatch is generally use for hotfix iOS App.","fork":false,"url":"https://api.github.com/repos/bang590/JSPatch","forks_url":"https://api.github.com/repos/bang590/JSPatch/forks","keys_url":"https://api.github.com/repos/bang590/JSPatch/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bang590/JSPatch/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bang590/JSPatch/teams","hooks_url":"https://api.github.com/repos/bang590/JSPatch/hooks","issue_events_url":"https://api.github.com/repos/bang590/JSPatch/issues/events{/number}","events_url":"https://api.github.com/repos/bang590/JSPatch/events","assignees_url":"https://api.github.com/repos/bang590/JSPatch/assignees{/user}","branches_url":"https://api.github.com/repos/bang590/JSPatch/branches{/branch}","tags_url":"https://api.github.com/repos/bang590/JSPatch/tags","blobs_url":"https://api.github.com/repos/bang590/JSPatch/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bang590/JSPatch/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bang590/JSPatch/git/refs{/sha}","trees_url":"https://api.github.com/repos/bang590/JSPatch/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bang590/JSPatch/statuses/{sha}","languages_url":"https://api.github.com/repos/bang590/JSPatch/languages","stargazers_url":"https://api.github.com/repos/bang590/JSPatch/stargazers","contributors_url":"https://api.github.com/repos/bang590/JSPatch/contributors","subscribers_url":"https://api.github.com/repos/bang590/JSPatch/subscribers","subscription_url":"https://api.github.com/repos/bang590/JSPatch/subscription","commits_url":"https://api.github.com/repos/bang590/JSPatch/commits{/sha}","git_commits_url":"https://api.github.com/repos/bang590/JSPatch/git/commits{/sha}","comments_url":"https://api.github.com/repos/bang590/JSPatch/comments{/number}","issue_comment_url":"https://api.github.com/repos/bang590/JSPatch/issues/comments{/number}","contents_url":"https://api.github.com/repos/bang590/JSPatch/contents/{+path}","compare_url":"https://api.github.com/repos/bang590/JSPatch/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bang590/JSPatch/merges","archive_url":"https://api.github.com/repos/bang590/JSPatch/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bang590/JSPatch/downloads","issues_url":"https://api.github.com/repos/bang590/JSPatch/issues{/number}","pulls_url":"https://api.github.com/repos/bang590/JSPatch/pulls{/number}","milestones_url":"https://api.github.com/repos/bang590/JSPatch/milestones{/number}","notifications_url":"https://api.github.com/repos/bang590/JSPatch/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bang590/JSPatch/labels{/name}","releases_url":"https://api.github.com/repos/bang590/JSPatch/releases{/id}","created_at":"2015-05-25T02:37:22Z","updated_at":"2015-11-05T12:03:42Z","pushed_at":"2015-11-05T12:43:23Z","git_url":"git://github.com/bang590/JSPatch.git","ssh_url":"git@github.com:bang590/JSPatch.git","clone_url":"https://github.com/bang590/JSPatch.git","svn_url":"https://github.com/bang590/JSPatch","homepage":"","size":1651,"stargazers_count":2682,"watchers_count":2682,"language":"Objective-C","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":439,"mirror_url":null,"open_issues_count":12,"forks":439,"open_issues":12,"watchers":2682,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/bang590/JSPatch/pulls/128"},"html":{"href":"https://github.com/bang590/JSPatch/pull/128"},"issue":{"href":"https://api.github.com/repos/bang590/JSPatch/issues/128"},"comments":{"href":"https://api.github.com/repos/bang590/JSPatch/issues/128/comments"},"review_comments":{"href":"https://api.github.com/repos/bang590/JSPatch/pulls/128/comments"},"review_comment":{"href":"https://api.github.com/repos/bang590/JSPatch/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/bang590/JSPatch/pulls/128/commits"},"statuses":{"href":"https://api.github.com/repos/bang590/JSPatch/statuses/77b1b140796018d5654ea67456f8dde5f2068428"}},"merged":false,"mergeable":true,"mergeable_state":"clean","merged_by":null,"comments":8,"review_comments":0,"commits":2,"additions":74,"deletions":2,"changed_files":1}}